一道C++题目,求详解
函数inttest(inta,intb=1,intc=0),下列调用不合法的个数是(B)。test(0);test(0,0);test();test(0,0,0);A0B...
函数int test(int a,int b=1,int c=0),下列调用不合法的个数是(B)。
test(0);
test(0,0);
test();
test(0,0,0);
A 0
B 1
C 2
D 3 展开
test(0);
test(0,0);
test();
test(0,0,0);
A 0
B 1
C 2
D 3 展开
2个回答
展开全部
第四个不对 第一个调用时 传递给a的值是0 其他两个是常量 第二个道理一样 第三个 没有参数传入 系统自动赋值a为0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在这个题目中,在提供的方法中有三个参数,其中b和c都是有默认值的,a没有,所以,
按照选项看下来,
test(0),这个是将a = 0,由于没有给出b, c,它们将使用默认值,合法
运行截图:
test(0, 0),会将a = 0,由于给出了b参数的值,所以,b将不再使用默认值,二是b = 0,合法;
运行截图:
test(),没有对参数a赋值,而a又没有默认值,不合法;
运行截图:
test(0, 0, 0),a = 0,b和c都将不是用默认值,而是进行赋值b = 0, c = 0,合法
运行截图:
这条题目主要考察的是函数调用的参数赋值和参数默认值,看见楼下好像解释错了,所以贴上运行结果,其中,将参数的值输出,有图有真相。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询