0

scanf() を間違った方法で使用していますか?

char *input;
scanf("%s", input);
printf("%s\n", input);

これは実行時に失敗します。

4

3 に答える 3

6

a を宣言するchar *とポインタが作成されるだけで、文字列にメモリは割り当てられません。入力用にメモリを割り当てる必要があります。を介してmalloc(およびfree完了時に)動的に行うか、 のような静的サイズの配列を宣言できますchar input[100]

于 2013-06-07T11:38:46.420 に答える
0

char *input;と置き換えますchar input[1024] = {0};

scanf に渡すパラメーターが、入力を保持できるバッファーを指すようにする必要があります

于 2013-06-07T11:42:22.887 に答える