有以下程序 main() { int x=1, y=0; if (!x) y++;

有以下程序 main() { int x=1, y=0; if (!x) y++;,第1张

结果是0;

x=1,!x为false 所以再判断x==0也不成立故y=0

else if (x==0)

if (x) y+=2

else y+=3

else if (x==0)

{

if (x) y+=2

else y+=3

}

是一样的意思

输出应该是y=-1吧

注意一下while后面有一个分号也就是说,这个while循环只是做y--。

while(y--)

(y--算拿y来用了,再拿y来减一)

对于这题来说我们知道,while()什么时候跳出循环呢?是括号的值为0的时候。也就是说:y--=0,这时先是算y=0然后y再减1,也就是y=-1了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7784527.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存