2016-01-08 179 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。