C语言经典算法100例-071-练习使用结构体
//练习使用结构体
#include <stdio.h>
#include <stdlib.h>
#define N 5
//声明一个学生结构体
struct student
{
char id[6];
char name[8];
int score;
} stu[N];
//输入学生成绩
void input(struct student stu[])
{
int i;
for (i = 0; i < N; ++i)
{
printf("Input %d th student's info.Id Name Score.\n",i+1);
scanf("%s %s %d",stu[i].id,stu[i].name,&stu[i].score); //字符数组的名称本身就是地址 不要加&符号
}
}
//输出学生成绩
void output(struct student stu[])
{
int i;
printf("Student's info:\n");
for (i = 0; i < N; ++i)
printf("%s \t %s \t %d \n",stu[i].id,stu[i].name,stu[i].score);
}
int main()
{
input(stu);
output(stu);
return 0;
}
我们这里创建一个含5 个学生的学生结构体,包括他的id,姓名和分数,对该结构体进行输入输出。
这里注意使用scanf时,对于字符数组,不要使用&取地址,因为字符数组名字就是地址。
代码如下: