下列哪种默认参数的声明是不正确的( )

下列哪种默认参数的声明是不正确的( )


A、

int max(int a,int b,int c,int d=0);


B、

int max(int a,int b,int c=0,int d=0);


C、

int max(int a=0,int b,int c=0,int d=0);


D、

int max(int a,int b=0,int c=0,int d=0);


【正确答案】:C
【题目解析】:

调用函数时,主调函数的实参与被调函数的形参按从左至右的顺序进行匹配对应。总之,定义函数时,只能为函数最后面的连续若干个参数设置默认值,且在调用处也只能缺省后面的连续若干个实参。

故只有C不符合在最后面连续设置默认值。


Top