#include<iostream>
using namespace std;
main()
{
int test =3;
while(test--)
{
cout<<test;
}
}
上面的代码显示输出210.我的问题是为什么它停在0 ??为什么它不能超过0?
答案 0 :(得分:3)
在printf("Address: %p\n",(void*)etf)
和c
中,任何非零值都会被计算为true,而零值将被计算为false。这就是为什么它停在c++
。事实也适用于for循环。
因此有时可能会找到 -
0
这意味着它是一个无限循环 - 始终运行。
答案 1 :(得分:1)
&#34;上面的代码显示了输出210.我的问题是为什么它停在0 ??为什么它不能超过0?&#34;
因为int
的{{1}}值在布尔表达式中计算为0
,并且false
循环在条件中停留在while()
。< / p>
答案 2 :(得分:1)
你将while循环中的条件设置为test--,它将被执行3次。当测试为1时,它等于while(1)或while(true),并且它在循环时继续。 当测试为0时,它等于while(0)或while(false),并且它在循环时停止。 为什么210?因为你打印它没有&#34;新线&#34;印刷品之间。