西语名言不忘初心:问一个二级C语言的问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 14:35:20
有这么一个题目,看不懂,有谁可以教教我喔??
main()
{
int y=10;
while(y--);
printf("y=%d\n"y);
}

程序写错了,应该是:
main()
{
int y=10;
while(y--);
printf("y=%d\n",y);
}

少了一个逗号“,”呢。

结果应该是y=-1
因为当y==0时,while结束,但是y--还要递减一次
所以结果y变量里面应该是-1啦

while(y--);当y--的值为0时循环结束,但y还要自减1,所以结束循环后y为-1。

先定义变量y并赋初值为10,然后检验y是否非零,因为非零为假,停止 while循环,然后循环做y=y-1,也就是y--,这样当y==0时,while结束,最后输出y=-1。

循环, y每次减1, 当y等于0时停止。 停止后y还得减1。
楼上说的对。 y == -1

定义整型变量Y,赋值10,Y自减1,直到减为0.判断结束后Y再自减1,所以结果打印出来就是 Y=-1

不要争了,我已经调试过了! 就是-1

定义整型变量Y,赋值10,Y自减1,直到减为0.
(楼上说错了)
结果是:
Y=9
Y=8
Y=7
Y=6
Y=5
Y=4
Y=3
Y=2
Y=1
Y=0