C++ 如何使用嵌套if语句检查字符数组?

C++ 如何使用嵌套if语句检查字符数组?,c++,if-statement,C++,If Statement,正如你可能知道的,我试图引入一个计数器来计算某个字符串中有多少辅音,但是输出总是50,除非涉及空格 int main(){ char input[50]; int total = 0; cout << "Enter a string of no more than 50 characters\n"; cin.getline(input,50); for(int n = 0; n<50;n++){ if(input[n]!='a',input[n]!='A',input

正如你可能知道的,我试图引入一个计数器来计算某个字符串中有多少辅音,但是输出总是50,除非涉及空格

int main(){
char input[50];
int total = 0;
cout << "Enter a string of no more than 50 characters\n";
cin.getline(input,50);

for(int n = 0; n<50;n++){
    if(input[n]!='a',input[n]!='A',input[n]!='e',input[n]!='E',input[n]!='i',input[n]!='I',input[n]!='o',input[n]!='O',input[n]!='u',input[n]!='U',input[n]!=' ')
    total++;}

cout << total << endl;}
intmain(){
字符输入[50];
int-total=0;
cout根据,逗号运算符定义如下

<>在C语言和C++编程语言中,逗号运算符 (由标记表示)是一个二进制运算符,用于计算其 第一个操作数并丢弃结果,然后对第二个操作数求值 并返回此值(和类型)

在您的情况下,应该使用逻辑AND(&&&)而不是逗号操作。 更有效的是,您可以像这样重写代码

char c = tolower(input[n]);
if (c >= 'a' && c <= 'z' && c != 'a' && c != 'e' && c != 'i' && c != 'o' && c !='u')
    total++;
charc=tolower(输入[n]);
如果(c>='a'&&c符合,则逗号运算符定义如下

<>在C语言和C++编程语言中,逗号运算符 (由标记表示)是一个二进制运算符,用于计算其 第一个操作数并丢弃结果,然后对第二个操作数求值 并返回此值(和类型)

在您的情况下,应该使用逻辑AND(&&&)而不是逗号操作。 更有效的是,您可以像这样重写代码

char c = tolower(input[n]);
if (c >= 'a' && c <= 'z' && c != 'a' && c != 'e' && c != 'i' && c != 'o' && c !='u')
    total++;
charc=tolower(输入[n]);

如果(c>='a'&&c每个人都清楚地解释过,那么您需要使用&&operator来确保检查所有条件

    if(input[n]!='a' && input[n]!='A' && input[n]!='e' && input[n]!='E' && input[n]!='i' && input[n]!='I' && input[n]!='o' && input[n]!='O' && input[n]!='u' && input[n]!='U' && input[n]!=' '){
    total++;
}
建议避免多次检查: 将字符提取到转换为小写或大写的变量

char c = input[n] | 32;
关于所使用的“,”;该计划可能会提供更多的见解以及共享的:

产出:第一


正如每个人都清楚地解释的那样,您需要使用&&operator来确保检查所有条件

    if(input[n]!='a' && input[n]!='A' && input[n]!='e' && input[n]!='E' && input[n]!='i' && input[n]!='I' && input[n]!='o' && input[n]!='O' && input[n]!='u' && input[n]!='U' && input[n]!=' '){
    total++;
}
建议避免多次检查: 将字符提取到转换为小写或大写的变量

char c = input[n] | 32;
关于所使用的“,”;该计划可能会提供更多的见解以及共享的:

产出:第一


逗号运算符不做您认为它能做的事,请使用
&&
。逗号运算符不做您认为它能做的事,请使用
&&