| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 690 人关注过本帖
标题:初学结构体的一个问题
取消只看楼主 加入收藏
lifeng2007
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-4-27
收藏
 问题点数:0 回复次数:2 
初学结构体的一个问题
这个程序是谭浩强《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编辑过]

搜索更多相关主题的帖子: 结构体 初学 
2007-07-03 18:00
lifeng2007
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-4-27
收藏
得分:0 

楼上的也说得对.谢谢

2007-07-03 20:26
lifeng2007
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-4-27
收藏
得分:0 

哦,
main()
{
void print(struct students *);//这里的*,从来没遇到过.是什么意思?
print(&stu);
这里掉了一个 }
我没啊?那里是照书上打的

[此贴子已经被作者于2007-7-4 7:06:55编辑过]

2007-07-03 20:46
快速回复:初学结构体的一个问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019530 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved