在c语言中,x=y>z等价于x=(y+z)?谢谢啦,祝您笑口常开,身体健康

如题所述

可能等于也可能不等于,这要看你的给y和z的赋值如何。
根据“C语言运算符优先级”来看你这题()的优先级最高,接下来是>和+,最后是=赋值运算符。
解析:
第一个式子x=y>z:根据优先级先看y>z,如果y的赋值大于z的赋值,那么y>z等于1,x就等于1;如果y的赋值小于z,那么y>z的值就是0,x等于0;如果y和z的赋值相等,则y没有大于z,依然是y>z等于0,x=0。也就是说只要满足y>z这个条件的x就等于1,只要有一点不满足x就等于0。
第二个式子x=(y+z):因为语法规定括号的优先级最高所以先做括号里面的,y的赋值加z的赋值得出来多少最后赋值给z,那么z就等于多少。
结论:由此可见如果赋值巧的话这两个式子是相等的,譬如y=1,z=0。其他的赋值情况自己试试就知道了。
呼...够详细了吧...累屎我了
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-10
不等价x=y>z,x等于bool值
x=(y+z),x等于x+y的数值
第2个回答  2011-08-10
完全不等价;
int x=10,y=11,z=12;
x=y<z;
cout<<x; //输出结果 1
x=(y+z);
cout<<x;//输出结果 23
显然不等价啊
第3个回答  2011-08-10
x=y>z等价于x=(y+z)?
这可能相等吗!
int y=10,z=2;
x=10>2; x=1;(TRUE=1,FALSE=0)
x=(10+2) ; x=12;
http://baike.baidu.com/view/1516130.htm
第4个回答  2011-08-10
没等价的可能, 最好看看各个标识符的优先级 。

在c语言中,x=y>z等价于x=(y+z)?谢谢啦,祝您笑口常开,身体健康
解析:第一个式子x=y>z:根据优先级先看y>z,如果y的赋值大于z的赋值,那么y>z等于1,x就等于1;如果y的赋值小于z,那么y>z的值就是0,x等于0;如果y和z的赋值相等,则y没有大于z,依然是y>z等于0,x=0。也就是说只要满足y>z这个条件的x就等于1,只要有一点不满足x就等于0。第二个...

相似回答
大家正在搜