2016-01-08 180 views
3

这个条件在while循环中意味着什么?while循环条件C++

int x; 
cin >> x; 
while(x) { 
    ... 
} 
+1

应该可能是'while(cin >> x){',但从给出的这种狭窄的上下文无法分辨出来。 –

回答

7

int具有隐式转换到bool。基本上0转换为false,所有非零值转换为true

所以更冗长,你的病情会读

while (x != 0) 
0

由于@CoryKramer说,当你拥有只包含一个可变的条件,即使是一个char,int,float等,值0被认为是false,而其他任何其他都是true。如果您使用的指针是相同的:NULL值被视为false,并且任何其他方向都被视为true。