C语言while一道题

来源:百度知道 编辑:UC知道 时间:2024/09/28 15:08:00
#include "stdio.h"
main()
{int x=2;
while(x--);
}
答案是-1,我试了,不知道为什么。
麻烦和我说下,谢谢了

#include "stdio.h"
main()
{int x=2;
while(x--);
printf("%d",x);} 是这样吧。
嗯,首先是x=2进入,接着x自减为1;接着x=1进入,x自减为0;当x为0时进去,x还是会进行自减为-1;然后循环就要终止了。
上面x--是x参与运算后,要自减1;所以while(x--),就算x为0,也是参与运算了,要自减的。
这与#include "stdio.h"
main()
{int x=2;
while(x)
x--;
printf("%d",x);}是不同的。

连输出都没有你怎么知道答案为-1呀?至少应该有个printf吧?

#include "stdio.h"
main()
{int x=2;
while(x--);
printf("%d",x);
}

这答案就是-1
因为最后要执行x--,然后判断,x--一定会执行的,只是不会执行循环体

x虽然是0值,但还是要执行while判断语句,即x--,x变成-1了

循环语句while(t)执行的条件是里面的条件‘t‘的值要不为0,
而X--得含义是先取x的值使用,再执行x-1,

当x=2时,执行while循环,然后执行x-1,这时x变为1
接着判断,因为x=1,不为0,这时又执行while循环,然后x-1,这时x变为0
接着判断,因为x=0,所以程序跳出循环,但是还要执行x-1,所以x就变成-1了,

懂了么?
我也学习编程的,不过这些都是很简单的问题,有机会加我的QQ446023752交流

我怎么在vc6上运行没有错误。
这个程序没有输出。不可能输出-1。