慕无忌7395479
2017-04-29 15:07
C++编译器并没有规定++运算符的求值顺序,我觉得C#应该也是如此,所以 bool a = ++x * x > 3;这行表达式有人能解释一下,是绝对正确的么?有没有人查过标准。
因为上面的式子没有括号,那就先运行一元运算符++x,即x+1,然后是 乘除的优先级比较高,那就接着运行乘法*,即(x+1)*x ,然后 得到的值 与3相比较,判断是否正确,把返回的bool值赋值给了bool a 。祝你学习顺利!
阿斯顿撒打算大所多
首先C#教科书是规定了++运算符的,学一门学问还是以教科书为准,不要以自己的经验,况且还是一门软件语言。其次,这个表达式没有问题,如果赋值x=1,那么++x*x=4,显然是先计算的++x,x自增1,因为是前置递增,所以++x=2,计算后的变量x也等于2。那么a为TRUE.你自己可以在软件中测试。
C#开发轻松入门
254118 学习 · 1459 问题
相似问题