C语言中函数调用的问题。

#include<stdio.h>voidmain(){voidprintstar();voidprint_message();printstar();print_mes... #include<stdio.h>
void main()
{
void printstar();
void print_message();

printstar();
print_message();
printstar();

}
void printstar()
{
printf("******************\n");

}
void print_message()
{
printf(" How do you do!\n");
}
书中有一段话:
“当在所有函数的外部、被调用之前说明函数时,在函数说明的后面所有位置上都可以对该函数进行调用。
函数说明也可以放在调用函数内的说明部分,如在main函数内部进行说明,则只能在main函数内部才能识别该函数。”
此例中void printstar();
void print_message();
不是放在main{}之内吗?
问:一:那怎么还能识别void printstar()和void print_message() 呢?
二:是不是我哪里理解错了?若理解错了,还望给出一个能体现以上那段话的例子,谢谢。
备注:此例中无论void printstar();
void print_message();
放在main{}之内如上述所示位置,还是放在main{}之外与#include<stdio.h>之间的位置,结果都是一样的。都能正确执行。
展开
 我来答
zero_fn
2011-08-01 · TA获得超过2258个赞
知道小有建树答主
回答量:1173
采纳率:80%
帮助的人:462万
展开全部
void printstar();
void print_message();
上面的叫声明,下面的叫定义,其本质都是同一个函数
void printstar()
{
printf("******************\n");

}
void print_message()
{
printf(" How do you do!\n");
}
你理解的书上的“说明”应该是函数定义部分,如果在声明的时候同时把函数体给出来应该就是书上的“说明”了。
声明和定义分开的方式让程序可读性增强,结构更清晰一些。
yelehi
2011-08-01 · 超过10用户采纳过TA的回答
知道答主
回答量:39
采纳率:0%
帮助的人:29.7万
展开全部
void print_message();
void printstar()
与位置无关,,仅仅是调用函数,只要事先申明过,符合条件,都能被调用,,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
是小白啊2k
2011-08-01 · TA获得超过2566个赞
知道小有建树答主
回答量:1183
采纳率:0%
帮助的人:1168万
展开全部
void printstar()
{
printf("******************\n");

}以上叫做函数的定义而void printstar();叫做函数的声明,在c语言中函数定义的位置没有要求,只要在调用函数的位置之前有函数的声明即可。同样如果函数的定义本身就在其被调用之前,那么就不需要再写函数的声明
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ad8bb83
2011-08-01 · TA获得超过4259个赞
知道大有可为答主
回答量:1469
采纳率:100%
帮助的人:1634万
展开全部
1.void printstar()和void print_message() 可以不放在main中说明,但是必须放到main前面。如果放到main后面,则必须说明,你的例中放main内可以,也可以将那2行作为外部自定义函数说明放到main前面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式