如果多条件的语句不起作用......

时间:2014-09-21 19:14:11

标签: c++

这是我的代码:

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

谢谢!

2 个答案:

答案 0 :(得分:2)

||语句的if运算符更改为&&。你写的陈述总是如此。你想要的是第一个字符不是元音,即它与'A'不匹配,它与'E'不匹配等。

答案 1 :(得分:0)

将!=更改为==将为您提供所需的结果。