c语言 自定义函数在 main 声明与在main前面声明有什么不同?

#include"stdio.h"inti=0;voidadd(void){i+=1;printf("add:%d\n",i);}voidadd_2(void){i=1;... #include "stdio.h"
int i = 0;
void add(void)
{
i += 1;
printf("add: %d\n", i);
}
void add_2(void)
{
i = 1;
printf("add_2: %d\n", i);
}
int main(void)
{
printf("%d ",i);
add();
printf("%d ",i);
add_2();
printf("%d ",i);
}
运行结果:
/*
0 add: 1
1 add_2: 1
1
*/


main里面声明自定义函数
#include "stdio.h"
int i = 0;
int main(void)
{
printf("%d",i);
void add(void);
printf("%d",i);
void add_2(void);
printf("%d",i);
}
void add(void)
{
i += 1;
printf("add: %d\n", i);
}
void add_2(void)
{
i = 1;
printf("add_2: %d\n", i);
}
运行结果为:
/*
000
*/
来大神指教
展开
 我来答
德昂当
2015-03-18 · TA获得超过2842个赞
知道大有可为答主
回答量:1074
采纳率:100%
帮助的人:761万
展开全部
没什么不同,你两种结果不同,只是把声明和调用弄混了。
函数调用前必须声明,这个只是一个说明,并没用调用,也就是运行。
你后面的程序,只是声明了下函数,并没有调用它。
int main(void)
{ void add(void); //声明
void add_2(void);
printf("%d ",i);
add(); //调用
printf("%d ",i);
add_2();
printf("%d ",i);
}
百度网友3c63e6c
2015-03-18 · TA获得超过2848个赞
知道大有可为答主
回答量:3829
采纳率:68%
帮助的人:2799万
展开全部

printf("%d",i);
void add(void);
printf("%d",i);
void add_2(void);
printf("%d",i);
这种写法,并没有调用函数,而是函数声明。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式