C语言中,printf中调用自定义函数必须要先定义吗?

这段代码printf先调用自定义函数后定义就报错了,先定义后再调用就通过了,求教高手是什么原因!!

不一定。
有两种方法:
第一种:无论在printf中,还是main中,或者是在其他任何函数中,要调用自定义函数,都要进行先定义。后面就可以自由调用了。
第二种:C语言把自定义函数的语句放在调用的后面,但调用之前,一定要写上自定义函数的声明语句。只有这样,才不会出现编译错误。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-12-01
是的。事实上,不止是在printf中,C语言规定,任何被调用函数在使用前都必须被定义。
第2个回答  2021-11-27
这可能不是你所说的“定义先后”的问题。而是你编译时,有上一次运行的窗口没有关闭(EXE程序仍处于“运行”状态),请把运行过的窗口全部关闭后再次编译程序,然后运行。追问

窗口全关闭了,还是这样的,所以有些疑惑.在别的代码里,声明后就调用没出问题,唯独这段代码一直报错,我已经迷糊了!

第3个回答  2021-11-27

C语言是强类型语言

至少也要先做函数原型,告诉编译器函数的参数返回值都是什么类型的,定义可以放在调用后

追问

但是这段代码我已经提前声明了char get_first(void),不可以直接调用吗?还缺少哪一步呢?请赐教!

追答

哪有把一个函数的定义放到另一个函数的做法!

函数不能嵌套定义

本回答被提问者采纳
第4个回答  2021-12-06
你这都是错的好吧,因为你把get_first函数嵌套定义在了主函数main中。
相似回答