- ベストアンサー
文字列を入力・表示
文字列を入力して表示したいのですができません。誤っていないと思うのですが・・・。何が間違っているのでしょうか? #include<stdio.h> void main (void) { char namae; printf("お名前を登録します。お名前を入力して下さい。\n"); scanf("%s",&namae); printf("お名前は%sですね。\n",namae); }
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
scanf 関数で文字列を取得するには、文字列(char型変数のアドレス)を指定する必要があります。 char namae; scanf("%s", &namae); ですと、確かに &namae は char型変数のアドレスですが、文字列を入れるには不十分です。 この場合、 char namae[32]; の様に文字(char型)の配列変数を定義する必要があります。 namae は char型変数のアドレスなので、 scanf("%s", namae); とすれば、namae変数に文字列を取得する事ができます。
お礼
%sは文字列だと思うのですが・・・。ちなみに%cが文字(1文字)だと思うのですが・・・。