作业帮 > 综合 > 作业

C语言 逻辑运算问题这1 0 0是怎么出来的

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/13 07:59:19
C语言 逻辑运算问题

这1 0 0是怎么出来的


很简单啊,x、y、z的初值均为0,执行++x || ++y && ++z;的时候由于是先计算或表达式左边的值,左边的值维为1,也就是非0值,那么或表达式右边的表达式就不会被运算到,所以只运行了++x,而没有运行++y和++z所以y和z的值还是0,所以输出x y z 的时候输出的就是1 0 0.
(需要和注意的就是或表达式的计算,当左侧为真时不会计算右边的表达式,只有当左侧表达式的值为假的时候才会计算右边的表达式)
再问: 这又是为什么,尤其是那个continue是干什么用的,还有i%2的返回值
再答: i%2取余,当i为奇数时,取余的值为1,否则值为0.上面代码的作用是判断i对2取余是否为1,若为1就打印*和#,不然就结束本次循环,i自加一次,进行下一次循环。最后退出循环之后打印一个$。