课程
/后端开发
/C#
/C#开发轻松入门
C++编译器并没有规定++运算符的求值顺序,我觉得C#应该也是如此,所以 bool a = ++x * x > 3;这行表达式有人能解释一下,是绝对正确的么?有没有人查过标准。
2017-04-29
源自:C#开发轻松入门 2-22
正在回答
因为上面的式子没有括号,那就先运行一元运算符++x,即x+1,然后是 乘除的优先级比较高,那就接着运行乘法*,即(x+1)*x ,然后 得到的值 与3相比较,判断是否正确,把返回的bool值赋值给了bool a 。祝你学习顺利!
慕无忌7395479 提问者
阿斯顿撒打算大所多
首先C#教科书是规定了++运算符的,学一门学问还是以教科书为准,不要以自己的经验,况且还是一门软件语言。其次,这个表达式没有问题,如果赋值x=1,那么++x*x=4,显然是先计算的++x,x自增1,因为是前置递增,所以++x=2,计算后的变量x也等于2。那么a为TRUE.你自己可以在软件中测试。
wzh2664219055
努力吧少年4369158 回复 wzh2664219055
HUBanghao
举报
本门课程是C#语言的入门教程,将带你轻松入门.NET开发
2 回答a = ++x * x 同行的x是否同时变更变量值
4 回答筛选条件正确的是x%2!=0
6 回答if(x ==3 && x == 8)不可以么?
1 回答int x=1 x>1也对?
3 回答console.writeline(x+""); 放在sum +=x; 前后。 结果不同求解释。