中易网

c语言中,既然不支持函数重载,那么printf算怎么回事?在c语言中,它不就是被重载了吗?

答案:6  悬赏:10  
解决时间 2021-01-12 21:44
  • 提问者网友:半生酒醒
  • 2021-01-12 07:54
c语言中,既然不支持函数重载,那么printf算怎么回事?在c语言中,它不就是被重载了吗?
最佳答案
  • 二级知识专家网友:刀戟声无边
  • 2021-01-12 08:42
这个问题问的不错。
其实printf不是重载,c语言不支持函数重载 这句话是对的。
printf函数是通过变长参数表实现的。你可以查看一下printf的函数原型声明。
printf函数的实现在不同的机器上是不同的,但提供的接口是一致的。
printf函数的正确声明形式如下:
int printf(const *fmt,...)
其中省略号表示参数表中参数的数量和类型是可变的。它是变长参数表的固定形式。
省略号只能出现在参数表的尾部。
具体的话你还是上网查查吧,我对这个原型也没研究。
我想既然你能问这个问题,看点资料不难理解,很快能明白怎么回事。明白了以后,你就可以自己写出这样变长参数表的函数了。好好加油!
全部回答
  • 1楼网友:刀戟声无边
  • 2021-01-12 14:23
两个或两个以上的函数,具有相同的函数名,但是形参的个数或者类型不同,编译器根据实参和形参的类型及个数进行最佳匹配,自动确定调用哪个函数,这就是函数的重载。追问大哥,你是不是看不懂提问啊?语文没学好?
  • 2楼网友:往事隔山水
  • 2021-01-12 13:28
问得好!
  • 3楼网友:猎心人
  • 2021-01-12 12:13
printf 是可变参数传递,不是重载。
  • 4楼网友:人间朝暮
  • 2021-01-12 11:04
楼上说的不错,printf只是函数调用而已
  • 5楼网友:逃夭
  • 2021-01-12 10:18
printf 不是重载 而是不定参数 参数个数由第一个参数得出 具体的你可以百度下 关于不定参数的函数
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息