|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
#include <malloc.h>
#include <string.h>
struct student //结构体
{
int age;
float score;
char sex;
char name[100];
};
void Inputstudent(struct student *ppArr)
{
int i;
int len;
}
int main( )
{
int len; //定义学生的个数
int i;
struct student *pArr; //定义了学生的结构体
printf("请输入学生的个数:\n");
printf("len = ");
scanf("%d",&len);
pArr = (struct student *) malloc(len * sizeof (struct student)); //分配内存
//输入
for (i = 0;i < len;i++)
{
printf("请输入第%d个学生的信息:\n",i+1);
printf("name = ");
scanf("%s",pArr[i].name); //这里不需要&,因为name本身就是数组首元素地址不能改成 &pArr[i].name
//printf("\n");
printf("age = ");
scanf("%d",&pArr[i].age);
//getchar();
printf("sex = ");
scanf("%c",&pArr[i].sex);
//printf("\n");
printf("score = ");
scanf("%f",&pArr[i].score);
//printf("\n");
}
//输出
printf("学生的信息是:\n");
for (i = 0;i < len;i++)
{
printf("第%d个学生的信息是:\n",i+1);
printf("name =%s \n",pArr[i].name);
printf("age =%d \n",pArr[i].age);
printf("score =%.2f \n",pArr[i].score);
}
return 0;
}
运行以后就会发现 sex 无法输入,虽然用getchar()可以解决,但是如果把score 模块放在 sex 模块前面,不用getchar( )也可以解决,想问一下是什么原因???
恭候大神给解!!!在此谢过!!!
|
|