C语言中函数定义时形参可以使用默认值吗?

例如 int max(int a,int b,int c=0){...}
在C++中可以,但在C语言中可以吗?

第1个回答  2013-06-22
我记得是不行的,C++的这种机制貌似是函数重载所引发的概念,其实很简单嘛,你把它编译一下不就知道了啊,呵呵

C语言函数形参初始值?
可以这样调用。int b=0指的是默认参数,调用时传入或不传入b都行,如果不传入b的话,那么b的值就是0。另外注意只有最后面的参数可以是默认参数。

简述C语言中函数的形式参数定义时的注意事项 求解...
1、形参个数不能太多,多了就用结构体指针吧;2、不需要携带数据返回的放在前面,需要携带数据返回类型的放在后面吧;3、不要直接传递结构体哦;4、一般地,指针类型最好加上const修饰,除非有特殊用途;5、尽量不要使用bool类型做为形式参数;6、别忘了给一个简洁好听的名字 ...

...有默认值,可以传递该参数的值,也可以不传递,直接使用默认值...
是的,若形参有默认值,可以传递该参数的值,也可以不传递,但形参的默认值要从形参列表最右端开始设置,如:int sum(int x, int y=2, int z=8);这样设置是对的,可以全部设置默认值,也可以部分设置默认值 int sum(int x = 3, int y, int z);这样设置是错误的,当给部分形参设置默认值...

C语言和C++的区别
在c++中,定义或声明函数时,可在形参中给它赋一个初始值作为默认参数值,如:int FUN(int a = 10);,表示未传参调用时,自动给a赋值10。然而,在c89标准下,这种操作不可行,会引发错误。在c语言中,系统在调用函数时开辟函数栈帧,传入实参时通过mov指令将值传入寄存器,再通过push指令压入栈中...

如果函数的形参带默认值必须对全部参数设置默认值?
当函数有多个形参,如果其中一个定义有默认值,后面的(右侧)形参也必须定义默认值。void fun (int a=0,int b)\/\/无法编译 { } void fun (int a,int b=0,int c=0)\/\/可以编译 { }

C语言一道题
===对1楼 【零下而度 】也无语,形参可以指定默认值不知道么。===对2楼 【 sxgyll 】同样无语,参数列表里 int=5 不是给int赋值。愁人!答案是 C 这个是考察关于函数传入参数的默认值的知识点。ABD选项的声明形式都是对的,声明的时候参数可以只指定类型,不指定变量名和默认值。而C选项,...

求解?形参C不是已经默认值了吗?为何结果不是9?
c=9)这种形式给的值是在编译后的值,但是当它被调用时参数(即cout<<max(a,b,c)<<endl这一句中的c值)才是子函数max处理的值。也就是说调用时的参数覆盖了初始化的参数。做以下修改就成了默认值了:int max(int a,int b,int c){ c=9;if (b>a)a=b;if(c>a)a=c;return a;} ...

C#方法的形参能赋默认值吗?
c++可以给函数参数添加默认值,但是c#不行,你只能用个重载函数或者在开头做判断:private void Send( string smtpAddress , string userName , string password , string to , string title ,string content){ if (null == content || "" == content){ content = "123456789 123456789 123456789 ...

c语言函数声明中将函数指针参数设置为NULL的默认值
指定形参默认值是C++的语法,标准C是不支持这种语法的。使用c++语法,通常可以保存文件时使用CPP后缀保存。另外,形参的默认值是在声明函数原型的时候指定,不是在函数定义的时候指定。

在C++中能够在函数的形参表中赋值吗?
可以 在函数声明或定义时,直接对参数赋值,该参数就是默认参数。在函数调用时,省略部分或全部参数,这时就会使用默认参数进行代替。使用方法:(1)在函数声明或定义时,直接对参数赋值,该参数就是默认参数。(2)在函数调用时,省略部分或全部参数,这时就会使用默认参数进行代替。注意事项:(1)一般在...

相似回答