No.2ベストアンサー
- 回答日時:
>最後のscanfのところの"%1s"とはどういう意味ですか。
%cとはどう違うのですか?%cにするとうまく動作しない事を経験で知っているからです。
恐らく、その前のscanfのデータを確定する際の<Enter>が、標準入力バッファに残っていて、次の%cを確定されてしまうんでしょうね。
>scanf("%1s",&key);の部分をgetchar()を使うと無視されて、終了してしまうのはなぜですか。
これも前の質問の回答と同じ事ですね。
key = getchar();
にすると、keyには'Y'や'y'以外の値、恐らく0x0aか0x0dが入っているので、whileループから抜けてしまうんです。
No.1
- 回答日時:
#include <stdio.h>
int main()
{
int m,s ;
char key ;
do {
printf("距離 (km)\t: "); scanf("%d",&m);
printf("速度 (km/h)\t: "); scanf("%d",&s);
printf("時間 (h:mm:ss)\t: %d:%02d:%02d\n",m/s,(60*m/s)%60,(3600*m/s)%60);
printf("続行 (Y/N)\t: "); scanf("%1s",&key);
} while ( key == 'Y' || key == 'y' );
return 0 ;
}
この回答への補足
最後のscanfのところの"%1s"とはどういう意味ですか。%cとはどう違うのですか?
scanf("%1s",&key);の部分をgetchar()を使うと無視されて、終了してしまうのはなぜですか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- C言語・C++・C# C言語 3 2022/10/04 15:07
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java Java、配列の問題を教えて欲しいです。 ・日、月、火、水、木、金、土 ・各曜日の英語 を2次元配列 2 2023/07/10 19:14
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 正の整数nを入力させると、1からnまでの整数を出力し 9 2022/07/16 23:45
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Ruby プログラミング 3 2023/06/09 14:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
fflush(stdin)の使い方とprintf...
-
プログラミングの問題です 「金...
-
正負を反転させて出力するプロ...
-
Excel VBAで、Application.Inpu...
-
VisualStudio2019のコードアナ...
-
scanf が無視されます
-
scanfが2回使えない・・・?;
-
プログラミング初心者です。 Py...
-
getchar使用時の入力文字消去方法
-
電卓の小数点
-
Userformの入力順序をタブオー...
-
プログラムC言語の整数の約数に...
-
数字以外が入力されたらエラー...
-
16進数を入力するプログラムを...
-
4桁の数字以外を入力したらエラ...
-
c言語でひらがなのしりとりをで...
-
Linuxプログラミングで、キーボ...
-
C言語
-
コマンドプロンプトからのEOFの...
-
永久ループ・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
*をユーザーが入力した数字の数...
-
正負を反転させて出力するプロ...
-
数字以外が入力されたらエラー...
-
プログラミング初心者です。 Py...
-
java初心者です。入力されたの...
-
プログラミングの問題です 「金...
-
Eclipseコンソール表示を、リセ...
-
C言語 逆ピラミッドの作り方
-
"scanf"でエンターで改行させな...
-
scanf が無視されます
-
if文の条件にscanf関数を使うと…?
-
C言語について
-
C言語scanf_sで何故か2回入力に...
-
Excel VBAで、Application.Inpu...
-
小数か整数かを判定する方法
-
cout関数を使っているのですが...
-
double型が正常に認識されてい...
-
scanfが2回使えない・・・?;
-
C言語でgetchar();が上手く使え...
-
WindowsでEOF
おすすめ情報