string command;
string bookName;
while (cin >> command, command != "END")
{...}
在while循環的條件下,有一個逗號。 我知道可以使用&&
或||
添加多個條件。while循環條件C++中「,」的用法是什麼?
但爲什麼用,
?
有沒有什麼好處?你能解釋一下用法和語法嗎?
string command;
string bookName;
while (cin >> command, command != "END")
{...}
在while循環的條件下,有一個逗號。 我知道可以使用&&
或||
添加多個條件。while循環條件C++中「,」的用法是什麼?
但爲什麼用,
?
有沒有什麼好處?你能解釋一下用法和語法嗎?
這是逗號運算符,也稱爲「求值和忘記」運算符。的a, b
效果是:
a
,包括任何副作用b
b
結果作爲的結果整個表達式a, b
該循環的作者想要表達以下內容:
讀
command
從cin
,然後進入循環體,除非command
等於"END"
然而,他們會使用&&
代替,
這裏更好過,因爲cin >> command
可能會失敗(即如果在找到字END
之前達到輸入的結尾)。在這種情況下,,
的條件將不會完成預期的操作(可能會永久循環,因爲command
將永遠不會收到值END
),而條件爲&&
會做正確的操作(終止)。
關於無限循環錯誤的優秀捕獲! –
它是[逗號運算符](https://stackoverflow.com/questions/54142/how-does-the-comma-operator-work)。 –
https://stackoverflow.com/questions/4364044/comma-separated-expression-in-while-loop-in-c這應該是有幫助的 –
請參閱https://stackoverflow.com/questions/33561882/what-is-條件語句中的優勢/ 33562149#33562149 – MikeMB