问答详情
源自:2-22 C#的运算符优先级

为什么呢...

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

提问者:慕粉1638374421 2016-11-17 21:59

个回答

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

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

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

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

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

  • 郑小贱丶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。