C语言自定义函数的简单问题

刚学c语言,看的《CPrimerPlus》第二章有个练习如果照着书上的例子来是#include<stdio.h>voidone_three(void);voidtwo(v... 刚学c语言,看的《C Primer Plus》
第二章有个练习如果照着书上的例子来是
#include<stdio.h>
void one_three(void);
void two(void);
int main(void)
{
printf("starting now:\n");
one_three();
printf("\n");
two();
printf("\nthree\ndone!\n");
}
void one_three(void)
{
printf("One");
}
void two(void)
{
printf("Two");
}

但是把函数定义放到前面,就省去了2行代码,并且在vs2013能运行,请问这样有问题吗?
#include<stdio.h>
void one_three(void)
{printf("One");
}
void two(void)
{
printf("Two");
}
int main(void)
{
printf("starting now:\n");
one_three();
printf("\n");
two();
printf("\nthree\ndone!\n");
return 0;
}
还有个问题是:我现在不明白最后一句return 0;的作用,不加上这句又对运行毫无影响。
展开
 我来答
xigbin
2014-11-04
知道答主
回答量:11
采纳率:0%
帮助的人:10.5万
展开全部

我想刚刚好回答你这个问题

首先关于函数的问题,你的想法是正确的 定义的函数体在main函数下面是需要先声明的,而处于mian()函数上边的函数,则不用。引用我的课堂笔记给你看看,你那题应该是习题里的第七题对吧


第二个问题关于函数体中的return语句 在什么情况出现

1、用户自定义的函数按有无返回值类型分两种,一般来说,当你定义的函数是以void以外的关键字修饰时,还是要加return语句返回一个值。像int max(a,b)的用户定义的函数中,需要返回一个int型的值给调用他的那个函数,他也是表示一个函数的结束

2、你问题中的return 0;是说主函数内的,加上的目的是告诉程序到这儿已经执行结束了。他下面的语句也不会再执行了。一般来说,有没有都没太大区别,但最好还是写一下,养成好的书写规范习惯 我以前一直不写那句的,现在也在慢慢的改。

好了 回答了这么多 希望能帮到你

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夜冷叻诶
2014-11-04 · TA获得超过174个赞
知道小有建树答主
回答量:206
采纳率:50%
帮助的人:147万
展开全部
1:由于程序是从main主函数执行的,所以你的方法定义在main后面的函数需要先在main前面声明。
2:你main函数的返回值是int类型的,所以需要返回一个int类型,至于返回几没有关系,定义成void main则不需要返回。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Hi_freeworld
2014-11-04 · TA获得超过219个赞
知道答主
回答量:36
采纳率:0%
帮助的人:19万
展开全部
没有问题,调用的函数放在主函数前面可以省去声明的语句

第二个问题加return 0是因为你的main函数的返回值是int类型 你看你写的是int main()所以最后最好返回一个整数,一般约定main函数运行正常返回0,不过不加这条语句不会有任何影响,只会有警示不会报错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式