2012-04-29 5 views
-5

私は、次のコンパイルしようとしている:ないのはなぜ私のメソッドの戻り値のchar *

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コンパイラはinsert戻りintを考えている理由[50]」タイプ

から誰かが私に言うことはできますか?上記のコードを修正するためには何が必要ですか?

+4

( '{}とボタンが'コードとしてテキストの書式を設定するためのボタンである。)のために、ツールバー上のコードを押し、 '{}'ボタンを選択し – huon

+0

、であなたのコード。 –

+4

投稿する前にコードを整理してください。これらのコメントは完全に無関係で気を散らすものです。 – Mat

答えて

2

使用する前に関数を宣言していないため、コンパイラはintを返します。あなたのchen()関数の前にこれを入れて:

char *insert(char *s1); 
+7

それでも、彼は配列へのポインタを割り当てることができません。 –

+0

@DanielFischer:真実ですが、私は直面する問題を説明したいと思ったので、user1155771は次の問題を考えて喜んでいます:-) –

関連する問題