编译器错误:无法将char*转换为char

fud*_*din 0 c pointers compiler-errors

我正在尝试创建一个类似strlen()string.h 的函数

它给了我错误 can not convert char* to char

#include<stdio.h>
#include<conio.h>

int xstrlen(char string);

void main(void) {
  char string[40];
  puts("Enter string:");
  gets(string);
  printf(" %s is the length of %d", string, xstrlen(string));
}

int xstrlen(char string[]) {
  int i;
  for (i=0; ; i++) {
    if (string[i] == '\0')
      break;
  }// for ends
  return i;
}
Run Code Online (Sandbox Code Playgroud)

bdo*_*lan 7

你的原型:

int xstrlen(char string);
Run Code Online (Sandbox Code Playgroud)

与函数定义不匹配:

int xstrlen(char string[]) { ... }
Run Code Online (Sandbox Code Playgroud)

将原型更改为:

 int xstrlen(char string[]);
Run Code Online (Sandbox Code Playgroud)