C言語なら俺に聞け(入門篇) Part 28
■ このスレッドは過去ログ倉庫に格納されています
0855側近中の側近 ◆0351148456
2008/06/01(日) 19:18:36(っ´▽`)っ
これこそアドレスだよアドレス☆
a[i]=c;
は、a[i]にcのアドレスを設定している。
行が読み込まれるとcは上書きされる。fgets(c,MAX,fp)でね。
a[i]に設定されたアドレスは変わらず、上書きされたcを指している。
だから、a[i]が最終行の文字列を指すわけ。
解決策は、a[i]=c;ではなく、strcpy(a[i], c)とすべき。
あと、char *a[5]をchar a[5][100]に変えてね。
静的領域を書き換えちゃダメだよ☆
■ このスレッドは過去ログ倉庫に格納されています