初学结构体的一个问题
这个程序是谭浩强《C语言程序设计》结构体一章里面的。题目为:有一个结构体变量stu,内含学生学号,姓名和平共处五项原则门课的成绩.
我不懂的写在旁边。帮我解释下,好吗?
#include <string.h>
#define FORMAT"%d\n%s\n%f\n%f\n%f\n"
struct students
{
int num;
char name[10];//[10]是长度吗?也可以当数组使用吧?
float score[3];//这个又和上面的不同,是数组.
};
main()
{
void print(struct students);//就是这里我搞不懂为何是这样.
struct students stu;
stu.num=123;
strcpy(stu.name,"li feng");
stu.score[0]=67.5;
stu.score[1]=50;
stu.score[2]=95;
print(stu);//不要第一行void print(struct students);就把print(stu);改为print struct students stu)为什么不可以?
}
void print(struct students stu)
{
printf(FORMAT,stu.num,stu.name,stu.score[0],stu.score[1],stu.score[2]);
getch();
}
还有FORMAT有哪些功能?
这个题还可以换一个做法:(有些地方不懂)
#define FORMAT"%d\n%s\n%f\n%f\n%f\n"
struct students
{
int num;
char name[20];
float score[3];
}stu={123,"li feng",60,80,70};
main()
{
void print(struct students *);//这里的*,从来没遇到过.是什么意思?
print(&stu);
}
void print(struct students *p)
{
printf(FORMAT,p->num,p->name,p->score[0],p->score[1],p->score[2]);
getch();
}
[此贴子已经被作者于2007-7-4 7:05:50编辑过]