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

时间:2015-04-13 18:47:47

标签: c++ eclipse runtime-error eclipse-cdt

因为我开始学习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;。

你可以解释一下这个吗?谢谢: - }。

1 个答案:

答案 0 :(得分:0)

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