【发布时间】:2016-01-08 18:42:09
【问题描述】:
这个条件在while循环中是什么意思?
int x;
cin >> x;
while(x) {
...
}
【问题讨论】:
-
应该是
while(cin >> x){,但不能从给定的如此狭窄的上下文中分辨出来。
标签: c++ while-loop
这个条件在while循环中是什么意思?
int x;
cin >> x;
while(x) {
...
}
【问题讨论】:
while(cin >> x){,但不能从给定的如此狭窄的上下文中分辨出来。
标签: c++ while-loop
int 隐式转换为bool。基本上0 转换为false,所有非零值都转换为true
更详细地说,你的条件应该是
while (x != 0)
【讨论】:
正如@CoryKramer 所说,当您有一个仅包含变量的条件时,即使是 char、int、float 等,值 0 都被视为 false,而其他任何值都被视为 true。如果使用指针也是一样的:NULL 值被认为是假,而任何其他方向都被认为是真。
【讨论】: