为什么呢...

来源:2-22 C#的运算符优先级

慕粉1638374421

2016-11-17 21:59

using System;

using System.Collections.Generic;

using System.Text;


namespace Test

{

    class Program

    {

        static void Main(string[] args)

        {

            int x=1;

            bool a = ++x * x > 3;

            bool b = x > 2;//请赋值

            Console.WriteLine(a==b);

        }

    }

}

题目要求最后结果为True

写回答 关注

3回答

  • 网络小流氓
    2016-11-18 09:16:47
    已采纳

    优先级的问题,先自家所以x值变成2,再相乘,然后判断,最后赋值给a.

    bool a = ++x * x > 3; 相当于 x = x+1; a = x*x>3; 

    慕粉1638...

    非常感谢!

    2016-11-22 10:53:45

    共 1 条回复 >

  • 想看你微笑
    2018-08-03 23:45:42

    bool a = ++*x>3;//++x,值确实为2 第二个x的值是1好吧 2*1还是 2  2>3 值为false

    幕布斯674...

    那我下面该怎么写? 写个错误的?

    2019-02-20 14:49:23

    共 1 条回复 >

  • 郑小贱丶4420041
    2016-11-18 11:32:19

     int x = 1;  //x=1

    bool a = ++x * x > 3;  //1、++x,值为2。    2、2*2,值为4。    3、4>3,值为true

     bool b = x > 2;  //1、x值为2。   2、2>2,值为false

    Console.WriteLine(a == b);  //true ==false值为false

    把Console.WriteLine(a == b); 改为Console.WriteLine(a != b); 后结果就为True。


C#开发轻松入门

本门课程是C#语言的入门教程,将带你轻松入门.NET开发

254118 学习 · 1459 问题

查看课程

相似问题