-6

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

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吗?我需要做什么来修复上面的代码?

4

1 回答 1

2

您在使用之前没有声明该insert()函数,因此编译器假定它返回int. 把它放在你的chen()函数之前:

char *insert(char *s1);
于 2012-04-29T10:48:59.407 回答