qwert0312 发表于 2021-1-31 21:31

碎片时间学习C语言一个疑惑!

我所了解的C语言知识是 程序只能有一个main函数,其他函数只可以间接或直接被main函数调用,现在我在csdn上学习了一个C语言课程,然后函数这段我学了一下,我发现函数体声明和定以后,在main函数里不需要添加调用这个函数体的参数,直接就过去执行了另外一个函数体的参数,请问这个是为什么?见图

我是老周 发表于 2021-1-31 21:33

压根没听明白你的问题在哪

FSA4565 发表于 2021-1-31 21:33

你在上面和下面声明和定义了ake函数 在main里就不需要另外再写一遍了,直接调用ake就可以了

dorble 发表于 2021-1-31 21:36

你这个参数是输入的,不是传入的

qwert0312 发表于 2021-1-31 21:38

本帖最后由 qwert0312 于 2021-1-31 21:40 编辑

FSA4565 发表于 2021-1-31 21:33
你在上面和下面声明和定义了ake函数 在main里就不需要另外再写一遍了,直接调用ake就可以了
可是我把main函数里的int int ake(int hei);全部删除掉,只保留前面的声明,照样是执行!
比如这样

你的小宝贝 发表于 2021-1-31 21:41

qwert0312 发表于 2021-1-31 21:43

dorble 发表于 2021-1-31 21:36
你这个参数是输入的,不是传入的

我明白了,谢谢!

236A 发表于 2021-1-31 21:48

只有一个原因那就是你的编译器的问题(其他的其他的编译器不报错可能是没vs的语法严格吧)
如果用VisualStudio必错

日后再说、 发表于 2021-1-31 22:10

你想想,如果规制是:要在main函数内声明的话。

那么被声明函数(ake)的作用域在哪?

如果作用域是全体函数,那么为什么不直接在最外面最开头直接声明?

如果只是在main内,那么嵌套调用还得重复声明?(这?? 不得被喷?)

C语言的选择是,在最外面最开头声明,作用域是全体函数。


题外话,学习C语言的话,最好还是多看看书,这些教程,教的没那么仔细的。

luanshils 发表于 2021-1-31 22:17

这样会有二义性
页: [1] 2
查看完整版本: 碎片时间学习C语言一个疑惑!