结构体练手

来源:互联网 发布:java学生管理系统 编辑:程序博客网 时间:2024/06/12 23:00

//刚学了结构体,来一个程序练练手

//功能是要输入2位学生的信息,并将分数高的学生输出

//源代码在下:

<span style="font-size:14px;">#include<stdio.h>int main(){    struct Student//定义结构体Student,包括信息为学号,姓名,成绩,地址    {        int num;        char name[20];        float score;        char address[20];    }student1,student2;    printf("please enter 2 student's num,name,score and address:\n");//输入两个学生的信息    scanf("%d%s%f%s",&student1.num,student1.name,&student1.score,student1.address);    scanf("%d%s%f%s",&student2.num,student2.name,&student2.score,student2.address);    printf("the better one is:\n");//判断哪位学生的成绩高,然后输出    if(student1.score>student2.score)printf("num:%d name:%s score:%f address:%s",student1.num,student1.name,student1.score,student1.address);    else printf("num:%d name:%s score:%.2f address:%s",student2.num,student2.name,student2.score,student2.address);    return 0;}</span>


这里主要注意的是:

一开始char name[20];我是写成 char *name;。但是这是不行的。因为我下面scanf中用到了%s输入,这时是把字符输成地址。

如果要这样使用的话,要先将name赋值。但是好像在结构体内不能进行赋值。


0 0
原创粉丝点击