-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 回答