一道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
展开
 我来答
yf798590105
2013-12-24 · TA获得超过165个赞
知道答主
回答量:142
采纳率:0%
帮助的人:76万
展开全部
第四个不对 第一个调用时 传递给a的值是0 其他两个是常量 第二个道理一样 第三个 没有参数传入 系统自动赋值a为0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
缘来丶缘浅
2013-12-24 · TA获得超过790个赞
知道小有建树答主
回答量:187
采纳率:0%
帮助的人:264万
展开全部

在这个题目中,在提供的方法中有三个参数,其中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,合法

运行截图:

这条题目主要考察的是函数调用的参数赋值和参数默认值,看见楼下好像解释错了,所以贴上运行结果,其中,将参数的值输出,有图有真相。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式