每当我尝试编译我的程序时,我得到Char to Char *编译错误......我在C中这样做。这是我的代码:
int my_strcmp(char s1[], char s2[]) {
int i;
for (i=0; i != '\0'; i++)
if (my_strcmp(s1[i], s2[i]) == 1)
return 1;
else if (my_strcmp(s1[i], s2[i]) == -1)
return -1;
else
return 0;
答案 0 :(得分:2)
s1
的类型为char *
s1[i]
的类型为char
my_strcmp()
需要两个char *
变量作为参数。s1[i]
(我们刚才说的是char
)作为其中一个参数。char
和char *
是不同的类型。答案 1 :(得分:0)
您的函数my_strcmp
被声明为使用字符数组作为输入参数(char*
或等效char[]
),而在行if (my_strcmp(s1[i], s2[i]) == 1)
中,此函数使用字符{ {1}}和s1[i]
。因此,编译器抱怨s2[i]
到char
转换。