如butler()函数,“没有返回值”性质指:
“通常,被调函数会向主函数返回一个值,但是butler()函数没有"
·现在用《C Primer Plus》中的一段代码展示这个性质:
#include <stdio.h>
void butler(void);
int main(void)
{
printf("I will summon the butler function.\n");
butler();/*被调用的位置*/
printf("Yes,bring me some tea and writable DVDs.\n");
return 0;
}
void butler(void)/*定义在文件夹中的位置*/
{
printf("sir,you rang?\n");
}
最终输出的结果是:
I will summon the butler function.
sir,you rang?
Yes,bring me some tea and writable DVDs.
可以看到,butler()函数的调用,将代码由两个人的语句排列成了一个人的对话,这样的结果就是由butler()函数的“没有返回值”性质导致的
·那语句返回到哪呢?
·返回到被调用的位置.
由这个性质可以推导出:
何时执行butler()函数取决于被调用的位置,而不是定义在文件夹中的位置,所以butler()函数的定义放在任何位置(include指令和头文件除外)都不会改变最终的结果,甚至是在主函数main()定义之前
·下面展示一段有别于《C Primer Puls》butler()函数位置的代码:
#include <stdio.h>
void butler(void)
{
printf("sir,you rang?\n");
}
int main(void)
{
printf("I will summon the butler function.\n");
butler();
printf("Yes,bring me some tea and writable DVDs.\n");
return 0;
}
最终输出的结果和上面一致
butler()函数是自定义的一个函数名,可以用它储存数据