在字符串数组和二维数组字符串之间使用 strcmp

using strcmp between string array and 2d array string

我需要在我输入的二维数组中搜索一个词,但是当我使用 strcmp 函数时,出现错误“没有匹配函数调用 'strcmp'

bool checkIfSameMedicine (char str1[], char str2[][MAXSIZE])
{
    for (int i = 0; i <= 3; i++)
    {
        if (strcmp(str2, str1))
        {
            return true;
        }
        return false;
    }
}

你至少要写

for (int i = 0; i <= 3; i++)
{
    if (strcmp(str2[i], str1) == 0)
    {
        return true;
    }
}
return false;

尽管由于使用了幻数 3,代码看起来不太好。

函数应该像

那样声明和定义
bool checkIfSameMedicine( const char str2[][MAXSIZE]), size_t n, const char str1[] )
{
    size_t i = 0;

    while ( i != n && strcmp( str2[i], str1 ) != 0 ) ++i;

    return n != 0 && i != n;
}