读书人

.运算付的运算顺序.求详解.解决方案

发布时间: 2012-03-31 13:13:26 作者: rapoo

...运算付的运算顺序....求详解...
x=y=z=0;
++x||++y&&++z;
printf( "x=%d,y=%d,z=%d ",x,y,z);
答案是 x=1,y=0,z=0
第一部++x||++y
我知道只要判断x=1 就不用看y了...可是后面为什么连++z都不执行了呢?


[解决办法]
比如你的 ++x||++y&&++z;

x=1 那么 根据 || 的语义,
无论后面的内容是什么,
整个语句的值就是 为真!!

所以,
后面的部分就不再计算了!

这个就是 逻辑运算符的特性,
楼主记得就好 ~

读书人网 >C语言

热点推荐