C语言题:x=0,y=0,z;z=x++&&y++;求x,y,z(我不明白为什么x自加了1.而y却没有自加)

发布时间:2024-05-14 08:17 发布:上海旅游网

问题描述:

答案是x=1,y=0,z=0.我对这个答案不明白.我总觉的x与y的值都应该是0

问题解答:

首先,你需要知道x++的概念,它是先取值后计算,那好,我们来看下面

z = x++&&y++;
这个表达式会先计算x++的值,关键在此,先取得x的值为0,然后再将x+1,由于与运算必须两个操作数都为true,如果其一为false或者0,那么与运算就不进行下去了,也就是说程序并没有执行y++这里,所有才有x=1,y=0,z=0的结果

我觉得..不太合理..

题中&&为关键,你得看看相关书,&&有特别的地方.&&前面的为0,后面的东西就不执行了.这就是为什么X加了1而y不加1的道理.当然发现了x为0,那么表达式自然为假,z为0.之后x自加1,x=1.

guoqiang721029 说的很明白了

热点新闻