所以我正在閱讀Bjarne Stroustrup的「編程:使用C++的原則和實踐」,並且我有一個演練,它告訴我編寫一個包含while循環的程序(每次在循環中)讀入兩個整數,然後打印出來,當輸入「|」時它應該退出。我寫了這個程序(我確信有一個更簡單的方法來寫它,已經得到了過於複雜的事情的「禮物」),但我無法找到退出循環的方式下面的代碼:使用C++ while循環演練的編程原則和練習。無法找到退出循環的方法
#include <iostream>
#include <vector>
int main()
{
std::vector<int> answers;
int answer;
int intCounter=0;
while(answers.size()<=2 )
{
if(answer=='|')
{
return 0;
}
std::cin>>answer;
answers.push_back(answer);
++intCounter;
if(intCounter==2)
{
for(int x : answers)
{
std::cout<<x<<'\n';
}
answers.clear();
intCounter=0;
}
}
return 0;
}
基本上,如果我寫一個if語句來檢查,如果答案是等於' |',編譯器認爲我的意思是它的整數值(124或類似的東西),並終止循環,當我寫124,這顯然不是我想要的噸。我試圖通過互聯網尋找一種將int轉換爲char的方式,但是我從此沒有理解任何東西。請記住,我是初學者,最簡單的解決方案將是最好的。提前致謝。
您可以在輸入作爲'的std :: string',然後轉換爲int如果不是'|' – NathanOliver
你有*不確定的行爲*中的代碼,當您使用在它被初始化之前的'答案'。未初始化的局部變量具有*不確定*值,除初始化外,使用它們會導致未定義的行爲。 –
哦,我的天啊,請正確格式化您的代碼! :P –