这是我的代码:
string function1( string input)
{
string output;
int i=0;
if (input.at(i)!='A' || input.at(i)!='a'|| input.at(i)!='E' || input.at(i)!='e' || input.at(i)!='I' || input.at(i)!='i' || input.at(i)!='O'||input.at(i)!='o' || input.at(i)!='U' || input.at(i)!='u')
{
char x=input[i];
input.erase(input.begin()+i);
output=input+x;
}
else
{
output=input+"yay";
}
return output;
}
可以帮助吗?
基本上问题是它永远不会进入else语句..
如果我通过BJ它应该返回BJYAY ... 但它给了我JB
谢谢!
答案 0 :(得分:2)
将||
语句的if
运算符更改为&&
。你写的陈述总是如此。你想要的是第一个字符不是元音,即它与'A'不匹配,它与'E'不匹配等。
答案 1 :(得分:0)
将!=更改为==将为您提供所需的结果。