C++ Hangman程序检查是否有工作函数

-5 c++

这是我到目前为止编译的程序,但输出是错误的.我正在尝试修复这个比较两个数组的函数,如果它们相等则返回true,否则返回false.

bool CheckWon ( char selectedWord[], char gameBoard[] )
{
    bool checkWon = false;
    int length = strlen(selectedWord);

    for (int i = 0; i < length; i++)
    if ( strcmp( gameBoard[i], selectedWord[i] ) == 0)
        checkWon = true;

    return checkWon;
}
Run Code Online (Sandbox Code Playgroud)

Cas*_*bel 6

嗯,只是通过习惯滚动到底部...是你在CheckWon的问题?你无法比较那样的字符数组; 你需要逐个字符地比较它们,或者因为你正在使用C++,升级到std :: string以便你可以测试相等性.

为了证明,试试这个:

#include <iostream>

int main() {
    char a[] = "Hello";
    char b[] = "Hello";
    if (a == b) {
        std::cout << "equal" << std::endl;
    } else {
        std::cout << "not equal" << std::endl;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)