问题
单项选择题
考虑函数原型void test(int a,int b=7,char z=‘*’),下面的函数调用中,属于不合法调用的是( )。
A.test(5);
B.test(5,8);
C.test(6,’#’);
D.test(0,0,’x’);
答案
参考答案:C
解析: 题中函数声明带有默认参数,那么在C选项的调用中,将会把字符型实参#赋值给整型形参b,这不符合参数传递规则。
考虑函数原型void test(int a,int b=7,char z=‘*’),下面的函数调用中,属于不合法调用的是( )。
A.test(5);
B.test(5,8);
C.test(6,’#’);
D.test(0,0,’x’);
参考答案:C
解析: 题中函数声明带有默认参数,那么在C选项的调用中,将会把字符型实参#赋值给整型形参b,这不符合参数传递规则。