关于c中结构体的问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 14:39:53
比如下面这个结构体
struct student
{
long int num;
char name[20];
int age;
float eng;
float math;
};
如果需要连续输入数据
就像这样 101 wanglei 18 98 87
应该怎么写输入的函数呢?
如果这样写scanf("%ld %s %d.....那18 98 87这些数据都会作为字符
串的元素 用gets又不能连续输入
请大家帮忙解决下

如果是在C++环境下可以通过重载操作符来实现,在C下面只有通过函数的方式了。
scanf可以这样写:
scanf("%ld %s %d %f %f", stu.num, stu.name, stu.age,stu.eng,stu.math);

或者在定义的时候就初始化:
struct student stu = {101, "wangwei", 18, 98, 97};

scanf("%ld,%s ,%d.....
你先了解scanf("%d%d")和scanf("%d,%d")的区别吧

一个一个输入不是很好么 为什么要连续输入呢??