因为我开始学习C ++,所以我对IDE Eclipse CDT或C ++本身都有一点问题。 哦,更具体地...... 使用“终止”按钮停止程序时会发生此问题。 发生了什么?当我编译并运行这几段代码时:
int main(){
char operace;
short int stavba = 0;
short int vstup;
cout<<"Vítá vás kalkulačka pro pány teoretiky.";
cout<<endl<<"Udejte výchozí matamatickou operaci pro celý číselný výraz:";
cin>>operace;
for(short int zadani = 0;vstup != 0;zadani++){
cout<<"Vložte "<<zadani<<". číselný výraz:"<<endl;
cin>>vstup;
if(operace == '+'){
stavba+= vstup;
}
else if(operace == '-'){
stavba -= vstup;
}
else if(operace == '*'){
stavba *= vstup;
}
else{
stavba /= vstup;
}
}
cout<<"Výsledek činí: "<<stavba;
return 0;
}
...输出到Eclipse控制台如下所示:
Vítá vás kalkulačka pro pány teoretiky.
Udejte výchozí matamatickou operaci pro celý číselný výraz:+
Vložte 0. číselný výraz:
5
Vložte 1. číselný výraz:
1
Vložte 2. číselný výraz:
0
Výsledek činí: 6
没问题 - 预期的行为。 但现在,当我通过Terminate按钮终止App时(当运行时在for循环中时):
Vítá vás kalkulačka pro pány teoretiky.
Udejte výchozí matamatickou operaci pro celý číselný výraz:Vložte 0. číselný výraz:
Vložte 1. číselný výraz:
Vložte 2. číselný výraz:
Vložte 3. číselný výraz:
Vložte 4. číselný výraz:
Vložte 5. číselný výraz:
Vložte 6. číselný výraz:
...
请注意,我不做任何输入。事实上,程序的行为是正常的,但我很困惑为什么会发生这种&#34;审美错误&#34;。
你可以解释一下这个吗?谢谢: - }。答案 0 :(得分:0)
你有一个逻辑错误:'vstup'没有初始化,但它是在循环中设置的。