Char to Char *错误信息

时间:2015-01-22 21:07:25

标签: c compiler-errors

每当我尝试编译我的程序时,我得到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;

2 个答案:

答案 0 :(得分:2)

  • s1的类型为char *
  • 因此,s1[i]的类型为char
  • my_strcmp()需要两个char *变量作为参数。
  • 你传递s1[i](我们刚才说的是char)作为其中一个参数。
  • charchar *是不同的类型。

答案 1 :(得分:0)

您的函数my_strcmp被声明为使用字符数组作为输入参数(char*或等效char[]),而在行if (my_strcmp(s1[i], s2[i]) == 1)中,此函数使用字符{ {1}}和s1[i]。因此,编译器抱怨s2[i]char转换。