C++ - 无限输出到控制台



自从我开始学习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

没问题 - 预期的行为。但是现在,当我通过终止按钮终止应用程序时(当运行时在 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:
...

请注意,我不进行任何输入。事实上,程序的行为是正常的,但我很困惑为什么会出现这种"美学错误"。

你能解释一下吗?谢谢 :-}。

您有一个逻辑错误:"vstup"未初始化,但它是在循环中设置的。

最新更新