C语言:求语句x=1,z=x--||x++;执行结果,即执行后的x和z的值,为什么(设其他情况都已满足执行)?

如题所述

结果是x==0,z==1。
为什么呢?把x=1,z=x--||x++;按C的优先级规则和前++后++t规则以及执行顺序分开写,就清楚了——
x=1;//逗号前的x=1的功能
z=x||x;//以下是逗号后的功能
if(x==0){
x=x-1;//x--的功能
x=x+1;//x++的功能
}
else
x=x-1;//x--的功能
温馨提示:答案为网友推荐,仅供参考
相似回答