作业帮 > 综合 > 作业

一道C语言的逻辑运算问题 很基础的 求解答

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/06/16 19:11:19
一道C语言的逻辑运算问题 很基础的 求解答
16.下面程序的输出结果是 A 。
main()
{int x,y,z;
x=y=1;
z=x++-1;
printf(“%d,%d\t”,x,z);
z+=-x+++(++y||++z);
printf(%d,%d”,x,z);
}
A)2,0 3,-1 B)2,1 3,0
C)2,0 2,1 D)2,1 0,1
只有第二次输出的z 我不懂为什么=-1
z+=-x+++(++y||++z);中的(++y||++z)部分能化成数字? 这里等于1?
一道C语言的逻辑运算问题 很基础的 求解答
++y等于2,++z等于1,“或”的结果为1。-x++=-2,所以z=-1。
对于数字,“非零”即为真 所以4||5=1,3&&2=1