#include<stdio.h>
#define PR printf
struct student
{
char name[20];
char sex;
int age;
float score;
}stu;
#include<string.h>
int main()
{
PR("name?");scanf("%s",&stu.name);
PR("sex?");scanf("%c",stu.sex);
PR("age?");scanf("%d",stu.age);
PR("score?");scanf("%f",stu.score);
PR("name:%s\n",stu.name);
PR("sex:%c\n",stu.sex);
PR("age:%d\n",stu.age);
PR("score:%f\n",stu.score);
return 0;
}
谢谢我改过来了,但是我刚刚输入name就弹出了sex?age?
追答由于系统输入缓冲区的问题,你在scanf ("%c", &stu.sex);这句之前或者scanf ("%s", stu.name);这句之后加一个getchar();获得一个回车符,或者fflush(stdin);清空缓冲区就可以了。