为什么CIN不识别加号/减号

why cin does not recognise plus/minus sign?

本文关键字:减号 识别 CIN 为什么      更新时间:2023-10-16
char sign = '+';
cout << "Enter '+' for addition or '-' for subtraction: ";
        cin >> sign;
        if ( sign != '+' || sign != '-' ) {
            cout << "you can only enter '+' or '-'!n";
            return 1;
        }

当我输入"+"或"-"号时,将显示错误消息。

真值表中存在错误。 考虑值'+'。 它不等于'-'因此打印错误。 值'-'不等于'+'因此再次打印错误。

您需要使用&&而不是||

if ( sign != '+' && sign != '-' ) {
  ...
}

确实如此。您的代码问题在于这一行:

    if ( sign != '+' || sign != '-' )

如果sign == '+',则第一个条件为假,但第二个条件为真。显然false || true评估为true.

我想你的意思是使用sign != '+' && sign != '-'