C++ 如何使用嵌套if语句检查字符数组?
正如你可能知道的,我试图引入一个计数器来计算某个字符串中有多少辅音,但是输出总是50,除非涉及空格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
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;
关于所使用的“,”;该计划可能会提供更多的见解以及共享的:
产出:第一
逗号运算符不做您认为它能做的事,请使用&&
。逗号运算符不做您认为它能做的事,请使用&&
。