2014-11-21 28 views
1

我試圖用C++編寫一個代碼,它需要一個未知數量的數字並將它們加在一起。我沒有得到任何錯誤,但是當我輸入數字時,它不會做任何事情。C++代碼來計算未知數量的總和

#include <iostream> 

int main() 
{ 
    int sum = 0, val; 
    while (std::cin >> val) 
     sum += val; 
    std::cout << "Sum is: " << sum << std::endl; 
    return 0; 
} 
+2

只需按Enter ... – 2014-11-21 23:55:39

+0

在終端我鍵入:1 2 3 4輸入,然後它只是在終端上去一個新的行,而不是顯示總和是:10 – JackV 2014-11-21 23:58:38

回答

3

我的猜測是你永遠不會結束你的輸入。它將繼續循環並添加數字,直到觸發文件結尾。只需按Enter鍵就不會這麼做 - 您需要在Linux上點擊ctrl+d或在Windows上點擊ctrl+z才能結束標準輸入文件,允許退出while循環。

+0

非常感謝,說它在書中但由於某種原因,我真的不明白什麼時候按下,爲什麼我需要按它,但那個作品 – JackV 2014-11-22 00:01:16

+1

是的,這只是表明你已經完成。然後關閉「文件」,cin知道它在最後並打破循環。 – 2014-11-22 00:04:10