

No.4ベストアンサー
- 回答日時:
> scanf("%c%s",&c,&word);
> printf("c=%c:r=%s\n",c,word);
これを
scanf("%c%s",&c,word); // &wordをwordに
rewind(stdin); // 追加
printf("c=%c:r=%s\n",c,word);
に変更してみてください。
scanf()を使用する際は改行の処理に気を使う必要があります。それについて、ここで述べるのは文字数が多くなってしまうので、ご自分で調べてみてください。scanf 改行で検索すればすぐに出てくると思います。
できました。ありがとうございました。
scanf 改行で検索したら沢山出てきまして、初心者はscanfを使うなというメッセージになるほどと思いました。
No.5
- 回答日時:
#include <stdio.h>
int main(void){
char buff[80];
char word[20];
char c;
int i;
for (i=0;i<3;i++){
fgets(buff,80,stdin);
sscanf(buff,"%c%s\n",&c,word);
printf("c=%c:r=%s\n",c,word);
}
return(0);
}
のように、sscanfを使うことにしたらどうでしょう。

No.3
- 回答日時:
> printf("c=%cst:r=%s\n",c,str);
> c=ast:r=bbbと出力されます。
これで問題ないのではないでしょうか?
もしc=a:str=bbbと出力したいのなら、printfを以下のように書き換える必要があります。
printf("c=%c:str=%s\n",c,str);
「:」の位置を変えてください。
この回答への補足
すみません.間違えました。実は下記のようなプログラムです。
int main(void){
char word[20];
char c;
int i;
for (i=0;i<3;i++){
scanf("%c%s",&c,&word);
printf("c=%c:r=%s\n",c,word);
}
}
最初にa bbb と入力すると、c=a:r=bbbですが、
2回目にa bbb と入力すると下記のように異なる値が出力され、三回目の入力をしないまま終了します。
c=
:r=a
c= :r=bbb
よろしくお願いします。
No.2
- 回答日時:
入力しない値が表示されます。
:どういう結果だったか書いたらどうでしょうか?
質問するのならば回答しやすいように
回答社に負担をかけないようにすべきです
プログラム内容(main行を書いても5行程度で済むはず)とその結果を書くほうがいいでしょう
早速のご返事ありがとうございました。
ご指摘のとおりだと思いました。すみません。
プログラムは下記になります。
int main(void){
char str[20];
char c;
scanf("%c%s",&c,str);
printf("c=%cst:r=%s\n",c,str);
}
現象は入力をa bbb とすると、出力がc=ast:r=bbb
になります。

No.1
- 回答日時:
> scanf("%c%s,&c,&s)を使用しましたが
この部分だけ示されても分かりません。出来ればその前後も示していただきたいのですが、もしかしたら以下のように書き換えればうまくいくかもしれません。
scanf("%c%s",&c,s);
sの前にある&をとったものです。
早速のご返事ありがとうございました。
結果は同じでa bbbと入力すると
c=ast:r=bbbと出力されます。
プログラムは下記になります。
int main(void){
char str[20];
char c;
scanf("%c%s",&c,str);
printf("c=%cst:r=%s\n",c,str);
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(C言語)めちゃくちゃな値にな...
-
(C言語)西暦年月日を入力して...
-
C言語習いはじめです
-
文字を動かしたい
-
プログラミング C言語 課題でプ...
-
現在時刻の表示について
-
10個出力で改行したいのですが...
-
C言語での、年複利の計算方法...
-
Visual Sutdio 2017 でのC言語...
-
5×5の転置行列を求めるC言語の...
-
LU分解法のピボット選択機能実...
-
サイコロをふって、出た目のパ...
-
8人分のテストの点数を入力し、...
-
printf( " %2d", p * q );
-
【C言語教えてください】sin波...
-
c言語で2000年以降カレンダーを...
-
再帰処理 変換
-
Cでオセロゲームプログラム
-
C言語について
-
C言語プログラミング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10個出力で改行したいのですが...
-
c言語でAからZまでを表示する...
-
(C言語)めちゃくちゃな値にな...
-
コマンドラインに出力した文字...
-
コンパイルエラーについて
-
コマンドプロンプトがすぐ消える
-
勝率をプログラムに
-
テキストカーソル位置の取得
-
三角形の判別
-
【C言語教えてください】sin波...
-
4の倍数を論理演算で表す。。
-
C言語で、「自然数nを入力し、n...
-
入力したお金の金額からお札の...
-
cshの文字列操作(0埋め)
-
switch分のケースを範囲数?に...
-
scanfに文字が入力されたときに...
-
プログラミングについての質問です
-
unsigned int型について
-
ダブルポインタで2次元配列を作成
-
円の面積を求めるプログラミン...
おすすめ情報