-1
string Foo(string letter)
 {


      for (int j = 0; j < (int)alphabet.length(); j++)
     {

            if (letter[0] == (alphabet[j]));
                 return "SUCCESS";
      }

      return "FAILURE";


 }

alphabet = "Test";

cout << Foo("f") << endl;

これは、そうではないと思っていたとしても、SUCCESSを出力します。比較演算子の何が問題になっていますか?

4

2 に答える 2

9
if (letter[0] == (alphabet[j])); // Note the semicolon at the end

ifあなたはすぐに続く空を持っていますreturn "SUCCESS";

そのセミコロンを削除します。

if (letter[0] == alphabet[j])
    return "SUCCESS";
于 2012-04-24T00:39:28.520 に答える
1

末尾にセミコロンがあります

 if (letter[0] == (alphabet[j]));

10行目。

予期しないセミコロン?:-)

于 2012-04-24T00:41:31.673 に答える