| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 15537 人关注过本帖
标题:C语言的子函数可以调用主函数吗?主函数可以调用主函数吗?
只看楼主 加入收藏
Wolfsin
Rank: 1
等 级:新手上路
帖 子:8
专家分:9
注 册:2016-1-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
C语言的子函数可以调用主函数吗?主函数可以调用主函数吗?
我们老师明确说子函数是不能调用主函数的,可是在昨天的编程中,我想试试看可不可以,结果编译通过了,程序也能正常的运作。书上是以VC 6.0做编程的,我用的是VS2015,是因为版本的原因导致的吗?C语言中子函数一定不能调用主函数吗?是语法规定的还是人为使用的习惯不调用主函数?那么主函数能调用主函数吗?(在保证不出现死循环的前提下)
这是我写的程序,可以看到我选中的部分已经是在子函数中调用主函数了:
图片附件: 游客没有浏览图片的权限,请 登录注册

输出的结果,不报错(另外我知道自己的写法不标准了,谢谢论坛大神的提醒,我在本地已经修改,图是早些时候截的):
图片附件: 游客没有浏览图片的权限,请 登录注册

运行的结果,功能正常:
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

百度好像没有明确的说法,书上指出了但是没有理由,只有老师在讲循环调用的时候强调了,而事实又跟老师讲的有矛盾,所以问问,源代码太长了我就不贴了。
谢谢
搜索更多相关主题的帖子: C语言 
2016-01-05 21:28
心念成
Rank: 2
等 级:论坛游民
帖 子:19
专家分:27
注 册:2015-12-31
收藏
得分:0 
楼主,能给我看看源码吗?我也是个初学者,想看看
2016-01-05 21:36
eFun
Rank: 6Rank: 6
等 级:禁止访问
威 望:1
帖 子:58
专家分:400
注 册:2015-12-27
收藏
得分:5 
你确定你老师这样说了?或许你断章取义了,函数互调应该算一种变相的递归,控制不好就死循环了。
2016-01-05 21:51
Wolfsin
Rank: 1
等 级:新手上路
帖 子:8
专家分:9
注 册:2016-1-4
收藏
得分:0 
回复 3楼 eFun
是的,我今天就把程序给她看了,她很明确的说在C语言中子函数不能调用主函数,而且主函数也不能调用主函数,她也说不出为什么我这样写可以,另外说个插曲,我写的程序在VC6.0中编译会报错,所以怀疑是不是跟版本有关系。

努力做到最好!
2016-01-05 22:07
Yuzai酱
Rank: 2
等 级:论坛游民
帖 子:18
专家分:67
注 册:2016-1-4
收藏
得分:5 
你们老师误人子弟,主函数可以调用主函数,这种情况叫做:“递归”,等你学《数据结构》就明白其中的道理了~!
2016-01-05 23:05
demon90s
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:44
专家分:121
注 册:2016-1-3
收藏
得分:5 
回复 楼主 Wolfsin
我也测试了,是可以的。主函数可以递归调用主函数,其它函数也能调用主函数。但是如果不加限制,容易引发函数调用的死循环导致栈溢出。

而且好像这样做也没什么实际意义。

感觉函数本质就是一个代码的入口地址,程序只不过从主函数开始执行,除了这一点,主函数和其它函数没什么不同吧?
2016-01-06 01:24
eFun
Rank: 6Rank: 6
等 级:禁止访问
威 望:1
帖 子:58
专家分:400
注 册:2015-12-27
收藏
得分:0 
回复 4楼 Wolfsin
那基本可以确定你老师的程序设计课是体育老师教的了。
2016-01-06 05:53
快速回复:C语言的子函数可以调用主函数吗?主函数可以调用主函数吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015869 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved