[英]Basic C++ Program ending prematurely
我正在編寫一個簡單的程序,它接受一系列整數,將它們存儲在一個向量中,並打印出向量中 'x' 個整數的總和。 然而,編譯器似乎在打印“您想將多少個整數相加?”后跳過我的程序。 將 0 打印到屏幕后。
std::vector<int>values;
int v = 0;
int it = 0;
int sum = 0;
int main() {
std::cout << "Enter values" << std::endl;
while (std::cin >> v) {
values.push_back(v);
}
std::cout << "how many integers would you like to add together?" << std::endl;
std::cin >> it;
for (int i = 0; i <= it - 1; ++i) {
sum += values[i];
}
std::cout<<sum;
}
為了退出第一個while
循環,您必須在cin
上觸發文件結束條件(例如,在某些 shell 中按 Ctrl+D)。 到時候std::cin >> it
到達,流仍處於檔案結尾狀態,所以讀取操作失敗, it
保留其值為零。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.