为什么我的方法不返回char *

时间:2012-04-29 10:46:03

标签: c char return-value

我正在尝试编译以下内容:

void chen() {
     char s[50];
     char s1[30], s2[30]; int t;
     printf("Nhap chuoi 1: ");
     gets(s1);
     s = insert(s1);  // Error here
     printf("chen chuoi 2 vao chuoi 1: ");
     puts(s);
}

char* insert(char* s1) {
    return s1;
}

int main() {
    chen();
    return 0;
}

编译器告诉我:

  

错误:从类型

指定类型'char [50]'时不兼容的类型

有人能告诉我为什么编译器认为insert会返回int吗?我需要做些什么来修复上面的代码?

1 个答案:

答案 0 :(得分:2)

在使用它之前,您尚未声明insert()函数,因此编译器假定它返回int。把它放在chen()函数之前:

char *insert(char *s1);