//问题程序
//无法正确读入char型变量b的值
//b变量存储的是输入变量a的值结束后按下的回车符
#include<stdio.h>
int main()
{
int a;
char b;
float c;
printf("Please input an integer:");
scanf("%d", &a);
printf("integer: %d\n", a);
printf("Please input a character:");
scanf("%c", &b);
printf("character: %c\n", b);
printf("Please input a float number:");
scanf("%f", &c);
printf("float: %f\n", c);
return 0;
}
//修改方案1
#include<stdio.h>
int main()
{
int a;
char b;
float c;
printf("Please input an integer:");
scanf("%d", &a);
getchar();//接收按下的回车符
printf("integer: %d\n", a);
printf("Please input a character:");
scanf("%c", &b);
printf("character: %c\n", b);
printf("Please input a float number:");
scanf("%f", &c);
printf("float: %f\n", c);
return 0;
}
//修改方案2
#include<stdio.h>
int main()
{
int a;
char b;
float c;
printf("Please input an integer:");
scanf("%d", &a);
printf("integer: %d\n", a);
printf("Please input a character:");
scanf(" %c", &b);//在"%c"前加一个空格
printf("character: %c\n", b);
printf("Please input a float number:");
scanf("%f", &c);
printf("float: %f\n", c);
return 0;
}