考虑函数原型void pass(int x,int y =5,char z='*'),下面的函数调用中,属于不合法调用的是( )。
考虑函数原型void pass(int x,int y =5,char z='*'),下面的函数调用中,属于不合法调用的是( )。
A、pass (5)
B、pass (5,8)
C、pass (6,'#')
D、pass (0,0,'*')
【正确答案】:C
【题目解析】:函数默认参数必须在函数原型中说明,默认参数可以多于1个,但必须放在参数序列的后部;如果某个默认参数需要指明一个特定值,则在此之前的所有参数都必须赋值。 在实际调用函数时,如不给出有默认参数的值,则取默认值。选项C,要将'#'传给第二个参数y,数据类型不同,出错。
Top