C语言简单问题?

为什么max没有在main函数里面声明,只是在外面声明,就可以被c调用?... 为什么max没有在main函数里面声明,只是在外面声明,就可以被c调用? 展开
 我来答
白狼圣狂
2020-01-14 · 超过52用户采纳过TA的回答
知道小有建树答主
回答量:131
采纳率:70%
帮助的人:31.7万
展开全部

你没有准确吃透函数,属于范围伤的认识错误,在这里的结构是这样的:

这是这个代码的结构体系

你以前都以为只有这样才行:

这是最容易理解的结构体系

你需要知道的一件事,代码定义的Max函数和Main函数是同级关系,不是包含关系,在C语言里同级关系可以相互调用,现在的直接在Main里定义函数的几乎没有了,有些编译器还不支持,建议你以后用第一种定义方案。

你也可以去搜索一下关于代码块{}的作用范围,这里不多讲。

追问
回答很全面,简单易懂,谢谢你啦
追答
万分荣幸
金色潜鸟
2020-01-14 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5478万
展开全部
c /c++ 语言结构 ,就是由 一个一个函数组成。例如:
fun1(){} fun2(){} main(){} fun3(){} ......
程序执行 从main() 的头开始 到 main() 的结束为止,main里的语句可以调用函数并返回,其它函数也可调用其它函数。
被调函数在后的,那么前面要写 函数原型声明。
例如,main() 要调 max(); max() 定义 在 main() 以后。所以在 main(){} 以前,写了:
double max(double x, double y); -- 带分号的 “max()函数原型声明”
这样,main() 就能调用 后面的 max() 了。
max()的函数原型声明,也可写在 main() 程序的 开始部分(声明区),并在调用max()以前写即可。
追问
函数main和max是同级关系吗?可以互相调用吗?要不要声明
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
萨诚友妍
2020-01-23 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:2083万
展开全部
我想是这样的:那个后面连续的三个(++j)表示先把j加上1再用做计算,这样的话,j就加了3次,所以是8,j做完自身的加法后就做j+j+j,所以是三个8相加,是24.至于为什么不同的编译器结果不同我就不知道了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
microroom
科技发烧友

2020-01-14 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1496万
展开全部
在外面声明后可以被同一个源文件的所有函数调用。 但如果只在main中声明,则只能被main调用,如果还有个函数f也想调用max,则在f中也要声明。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式