发布网友 发布时间:2024-10-23 23:02
共1个回答
热心网友 时间:2024-12-12 06:00
B) 2
调用时func((x1,x2),(x3,x4,x5));
(x1,x2)实际上只取了x2做参数,(x3,x4,x5)实际上只取了x5做参数;
对于括号运算,试试printf("%d",(1,2,3……));
逗号是一个运算符,其运算过程为依次计算左右操作数并返右操作数的右值(即不可写)。
所以func(
(exp1,exp2),(exp3,exp4,exp5)
);
相当于func(exp2,exp5)。
扩展资料
函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值的。例如: printf("%d",max(x,y)); 即是把max调用的返回值又作为printf函数的实参来使用的。在函数调用中还应该注意的一个问题是求值顺序的问题。
所谓求值顺序是指对实参表中各量是自左至右使用呢,还是自右至左使用。对此,各系统的规定不一定相同。介绍printf 函数时已提到过,这里从函数调用的角度再强调一下。