下列函数调用语句含有实参的个数为: func((x1,x2),(x3,x4,x5)); A) 1 B) 2 C) 4 D) 5
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);
扩展资料:
在程序中通过对函数的调用来执行函数体,其过程与其它语言的子程序调用相似。
C语言中,函数调用的一般形式为:
函数名(实际参数表)
对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数、变量或其它构造类型数据及表达式。各实参之间用逗号分隔。
参考资料来源:百度百科-函数调用
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 函数时已提到过,这里从函数调用的角度再强调一下。
我是菜鸟,还是不明白,请具体解答,谢谢
调用时func((x1,x2),(x3,x4,x5));
(x1,x2)实际上只取了x2做参数,(x3,x4,x5)实际上只取了x5做参数;
对于括号运算,你试试printf("%d",(1,2,3……));你就会明白了。