-3
我使用Pocket C++的ANSI C.我试图让strcmp()
在我的计划工作:ANSI C:无法获取strcmp的工作
#include <stdio.h>
#include <string.h>
int main()
{
char str1 = 'C';
char str2[3] = {'A', 'B', 'C'};
int ret;
ret = strcmp(str1, str2[3]);
if (ret == 0) {
printf("The are equal");
} else {
printf("They are not equal");
}
return(0);
}
我得到了一个错误:
invalid conversion from 'char' to 'const char*' [-fpermissive]
以及其他错误。然后我尝试更改变量: char const * var = 'C';
或const char * var = 'C';
它仍然不起作用,我做错了什么?
呦比较字符==就够了。 strcmp是用于字符串(它是char *并用分隔) –
['int strcmp(const char * str1,const char * str2)'](http://www.cplusplus.com/reference/cstring/strcmp)期望2字符串('char'指针或'char *'),当你传递简单的'char'时 – CristiFati
注意,'&str' **不足以作为char指针,因为[null termination]( https://en.wikipedia.org/wiki/Null-terminated_string)是必需的。 – Siguza