0
ケースIscanfがintのバッファされた入力を読み取っていないのはなぜですか?
#include<stdio.h>
int main(){
char c;
int i;
scanf("%c",&c);
scanf("%d",&i);
printf("%d",i);
}
Input:a
23
Output:23
ケースII
#include<stdio.h>
int main(){
char c;
int i;
scanf("%c",&c);
printf("%c",c);
scanf("%c",&c);
printf("%c",c);
}
Input:a
OutPut:a
場合にはI 2つの入力が必要とされている間、ケースIIに一つだけの入力が必要になるのはなぜ? ケースIIでバッファリングされた文字を読んで、ケースIで同じことが起こらないのはなぜですか?
実際に['scanf'](http://en.cppreference.com/w/c/io/fscanf)の結果アイテム数をテストする必要があります。 –