不等于(!=)运算符在c ++中没有正确使用char

时间:2015-07-04 10:30:46

标签: c++

此代码无法正常使用,请帮帮我。即使我输入正确的字符,它仍然要求“输入正确的号码”。它没有评估条件。

#include<iostream>
#include<conio.h>
#include<string>
using namespace std;
int main()
{
    char ch = '0';
    A:
    cout << "enter a Character" << endl;
    cin >> ch;
    if ((ch != 'X')||(ch != 'x'))
    {
        cout << "Please Enter Right Number" << endl;
        goto A;
    }
    return 0;
}

2 个答案:

答案 0 :(得分:1)

(ch != 'X')||(ch != 'x')始终为true,您可能需要&&而不是||

答案 1 :(得分:1)

使用

    if ((ch != 'X') && (ch != 'x'))

而不是

  if ((ch != 'X')||(ch != 'x'))

也可以使用循环

代替goto
 cout << "enter a Character" << endl;
 cin >> ch;
 while(ch!='X' && ch!='x')
 {
      cout << "Please Enter Right Number" << endl;
      cout << "enter a Character" << endl;
      cin>>ch;
 }