C语言题目为什么z为-1

发布网友 发布时间:2024-10-24 07:06

我来回答

4个回答

热心网友 时间:2024-10-24 11:24

while(z-->0&&++x<5)
    y=y-1;

这段代码的意思就是如果z--大于0 (当前z的值大于0)同时++x<5(x+1后小于5)

 就执行y=y-1这一步

再看初始赋值 x=0, z=3

x=4的时候++x<5不满足(需要加4次)

而z=0的时候z-->0这个条件就不满足了(只需要减3次)

而z=0的时候执行了z--这一计算

所以最后z=-1

热心网友 时间:2024-10-24 11:24

z=0,做判断的时候要做一次z--运算,结果z=-1,但是while括号里面不执行,因为不满足条件。

热心网友 时间:2024-10-24 11:25

因为Z--是当Z取值后,再自减,同学,Z--和--Z是不一样的,--放前面是先执行自减,再来判定,而--放后面是先进行判定,一行语句判定结束后,再进行自减

热心网友 时间:2024-10-24 11:25

你要理解z--和--z的区别就很容易了,z-->0 是先判断z是否大于零在执行--的

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com