重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
void fun(int *a, int *b)
成都创新互联公司服务项目包括虹口网站建设、虹口网站制作、虹口网页制作以及虹口网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,虹口网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到虹口省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
{
int *c;
c=a;a=b;b=c;
}
因为函数中,形参a,b中保存的都是实参的地址值,c=a;a=b;b=c;这行代码,只是把形参a,b的地址值进行了互换,对调用函数的实参所保存的结果是没有任何影响的。如果换成如下代码:
void fun(int *a, int *b)
{
int c;
c=*a;*a=*b;*b=c;
}
互换的是指针所指空间的值,即互换了调用函数的实参所保存的数值
实参的个数为 3
实参个数 就是调用时的 表达式 的个数。
这里共有 3 个表达式:
a
b
max(d,e)
所以是 3
2个实参,实参和形参在数量是一致的。
从函数名后面的小括号里的逗号数量就可以看出来(看最外层括号)。
里层的两个括号,分别是两组逗号表达式,(rec1,rec2,rec3)和(rec4,rec5)的返回值分别作为两个实参传入函数。
逗号表达式是返回最右边的表达式的值,所以
(rec1,rec2,rec3)返回rec3的值,(rec4,rec5)返回rec5的值。
3个
f2(v1,v2)为函数,有一个返回值,假设为a
(v3,v4,v5)为逗号表达式,有一个返回值,假设为b
(v6,max(v7,v8))同上面两个,假设为c
则可以化简为func(a,b,c);故是3个实参
fun(a+b,(x,y),fun(n+k,d,(a,b)));
fun() 函数 实参有:
第一个是 a+b, 这是表达式,结果是1个值。
第二个是 (x,y) , 这是逗号表达式,数值等于 y 的值。
第三个是 fun(n+k,d,(a,b) ),这是函数调用,结果是1个值。
答案选 A) 3