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>之间的位置,结果都是一样的。都能正确执行。 展开
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>之间的位置,结果都是一样的。都能正确执行。 展开
4个回答
展开全部
void printstar();
void print_message();
上面的叫声明,下面的叫定义,其本质都是同一个函数
void printstar()
{
printf("******************\n");
}
void print_message()
{
printf(" How do you do!\n");
}
你理解的书上的“说明”应该是函数定义部分,如果在声明的时候同时把函数体给出来应该就是书上的“说明”了。
声明和定义分开的方式让程序可读性增强,结构更清晰一些。
void print_message();
上面的叫声明,下面的叫定义,其本质都是同一个函数
void printstar()
{
printf("******************\n");
}
void print_message()
{
printf(" How do you do!\n");
}
你理解的书上的“说明”应该是函数定义部分,如果在声明的时候同时把函数体给出来应该就是书上的“说明”了。
声明和定义分开的方式让程序可读性增强,结构更清晰一些。
展开全部
void print_message();
void printstar()
与位置无关,,仅仅是调用函数,只要事先申明过,符合条件,都能被调用,,
void printstar()
与位置无关,,仅仅是调用函数,只要事先申明过,符合条件,都能被调用,,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void printstar()
{
printf("******************\n");
}以上叫做函数的定义而void printstar();叫做函数的声明,在c语言中函数定义的位置没有要求,只要在调用函数的位置之前有函数的声明即可。同样如果函数的定义本身就在其被调用之前,那么就不需要再写函数的声明
{
printf("******************\n");
}以上叫做函数的定义而void printstar();叫做函数的声明,在c语言中函数定义的位置没有要求,只要在调用函数的位置之前有函数的声明即可。同样如果函数的定义本身就在其被调用之前,那么就不需要再写函数的声明
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.void printstar()和void print_message() 可以不放在main中说明,但是必须放到main前面。如果放到main后面,则必须说明,你的例中放main内可以,也可以将那2行作为外部自定义函数说明放到main前面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询