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

学习 时间:2026-03-30 09:11:55 阅读:5735
C语言 逻辑运算问题这1 0 0是怎么出来的

最佳回答

机智的蛋挞

失眠的皮带

2026-03-30 09:11:55

很简单啊,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自加一次,进行下一次循环。最后退出循环之后打印一个$。

最新回答共有2条回答

  • 欢喜的黑裤
    回复
    2026-03-30 09:11:55

    很简单啊,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自加一次,进行下一次循环。最后退出循环之后打印一个$。

上一篇 有理数混合运算试题需要难一点的,

下一篇 多少度的白酒算高度酒是不是50度以上的才算是高度酒呀,46度的白酒算高度吗?我听说白酒放的越久越好,可前段时间别人告诉我