※ ChatGPTを利用し、要約された質問です(原文:switch文とscanfについて)
switch文とscanfについて
ソースコード-------------------------------------
#include <stdio.h>
void main(){
int i;
char s, ch;
while(1){
printf("Input 1 or 2\n");
scanf("%c", &s);
switch(s){
case '1' :
printf("Input a number\n");
scanf("%d", &i);
printf("You input '%d'\n", i);
break;
case '2' :
printf("Input a character\n");
scanf("%c", &ch);
printf("You input '%c'\n", ch);
break;
}
}
}
-----------------------------------------------
実行例-----------------------------------------
Input 1 or 2
1
Input a number
4
You input '4'
Input 1 or 2
Input 1 or 2 //------(1)
2
Input a character
You input ' //------(2)
'
Input 1 or 2
-----------------------------------------------
(1)について。
なぜ"Input 1 or 2"が二回繰り返されているのですか。
(2)について。
scanfが呼び出されて入力待ちになることを期待しているのですが、
なぜ(2)のようになってしまうのでしょうか。
お礼
ありがとうございました。