想知道这个问题的解释哈哈

为什么这个程序中必须要加一个getchar或者在第二个scanf里的%c前面加个空格这个程序才能完整的运行出来

#include
int main()
{
printf("输入一个温度\n");
float t;
char x;
scanf("%f",&t);
printf("输入字母'C'或'F'\n");
getchar();
scanf("%c",&x);
switch(x)
{
case 'C':t=5/9*(t-32);
printf("%2.2f",t);break;
case 'F':t=9/5*t+32;
printf("%2.2f",t);break;
default:printf("data enter error!\n");
}
return 0;
}

scanf函数读完一个字符后,缓冲区里还留下一个你输入的回车,所以要用getchar读出来并丢弃。