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.
",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:
");
    for (i = 0; i < N; ++i)
        printf("%s 	 %s 	 %d 
",stu[i].id,stu[i].name,stu[i].score);
}

int main()
{
    input(stu);
    output(stu);
    return 0;
}

我们这里创建一个含5 个学生的学生结构体,包括他的id,姓名和分数,对该结构体进行输入输出。

这里注意使用scanf时,对于字符数组,不要使用&取地址,因为字符数组名字就是地址。

代码如下:


原文地址:https://www.cnblogs.com/mrbourne/p/9959468.html