142 102 D:\xaizai\WeChat Files\wxid_ty14wysa87tx22\FileStorage\File\2023-05\未命名5(2).cpp [Error] cannot convert 'char (*)[20]' to 'const char*' for argument '1' to 'int strcmp(const char*, const char*)'
时间: 2023-12-18 14:02:35 浏览: 194
这个错误信息是说,在你的代码中,你尝试将一个 `char (*)[20]` 类型的变量作为 `strcmp` 函数的第一个参数传递,但是 `strcmp` 函数的第一个参数需要的是 `const char*` 类型的指针,所以这种类型不匹配。通常来说,这种错误是由于将一个数组名作为指针传递给函数,而数组名在 C 语言中会被转换为指向数组第一个元素的指针,所以你需要将 `char (*)[20]` 类型的变量转换成 `const char*` 类型的指针,再传递给 `strcmp` 函数。你可以将该变量的第一个元素的地址作为 `strcmp` 函数的第一个参数传递,如下所示:
```c++
char str[20] = "Hello";
int result = strcmp(str, "World");
```
在上面的示例中,我们将 `str` 数组的第一个元素的地址作为 `strcmp` 函数的第一个参数传递,这样就可以解决类型不匹配的问题。
阅读全文