-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 に答える