C++ 不相等(!=)运算符不能正确处理c+中的字符+;

C++ 不相等(!=)运算符不能正确处理c+中的字符+;,c++,C++,此代码工作不正常,请帮助我。即使我输入了正确的字符,它仍会不断询问“输入正确的数字”。而且它不评估条件 #include<iostream> #include<conio.h> #include<string> using namespace std; int main() { char ch = '0'; A: cout << "enter a Character" << endl; cin >&

此代码工作不正常,请帮助我。即使我输入了正确的字符,它仍会不断询问“输入正确的数字”。而且它不评估条件

#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;
}
#包括
#包括
#包括
使用名称空间std;
int main()
{
char ch='0';
A:
coutch;
if((ch!='X')| |(ch!='X'))
{
虽然
(ch!='X')| |(ch!='X')
始终是
真的
,您可能是指
&
而不是
|

使用

    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;
 }
coutch;
而(ch!='X'&&ch!='X')
{

CUT指定它不工作。它总是或从不显示消息吗?请告诉我们正确的工作对你意味着什么。你可能需要忽略在输入之前在输入中留下的 \n'/c>字符:a:< /代码>。而且,教你C++的人应该清楚地告诉你,它非常非常皱眉。当我开始使用goto时,请不要这样做!是的,我知道使用goto不是一个好的做法,但它是必要的,第二件事是,通过工作,我的意思是,即使我输入“X”或“X”,它表明输入是错误的,但重复-我们必须回答多少个这样的问题?首先谢谢大家。第二,很抱歉,我尝试了很多次,但都没有找到相关的答案,这就是我问新问题的原因。在发布我的问题后,我在博客中读到!=不适用于聊天类型,而适用于字符串。我试过这个方法,但它是否适用于字符类型。
!=
非常适用于
字符
。您的代码在更正后是否正常工作?请解释您的答案,为什么我必须使用&&而不是| |。Thanks@SAIFI369.The当用户输入
X
X
时,程序应该停止。因此,如果用户输入的不是
X
x
即,如果输入的字符既不是
x
也不是
x
,则继续。告诉我这是否合理。好的,我想做的是,如果输入的字符不是x或x,则程序应要求用户再次输入。就是这样。