单选题
1、〖第20题〗453) 以下函数调用语句中实参的个数是()。 exce((v1,v2),(v3,v4,v5),v6);
A
3
B
4
C
5
D
6
答案解析
正确答案:A
解析:
这道题考查的是 C 语言中**逗号运算符**与**函数参数分隔符**的区别。
### 核心考点解析
在 C 语言的函数调用 `exce((v1,v2),(v3,v4,v5),v6);` 中,我们需要区分两种逗号的作用:
1. **作为参数分隔符的逗号**:
用于分隔函数的各个实际参数(实参)。这些逗号位于最外层,不属于任何括号内部。
2. **作为逗号运算符的逗号**:
出现在括号内部,如 `(v1, v2)`。在 C 语言中,逗号是一个运算符,其运算规则是:**从左到右依次计算各表达式,整个逗号表达式的值是最后一个表达式的值**。
* 例如:`(v1, v2)` 是一个逗号表达式,它先计算 `v1`,再计算 `v2`,最终整个表达式的结果就是 `v2` 的值。对于函数调用来说,这被视为**一个**整体参数。
### 逐步拆解
让我们分析函数调用 `exce((v1,v2),(v3,v4,v5),v6);` 中的实参:
1. **第一个实参**:`(v1, v2)`
* 这是一个逗号表达式。虽然里面包含两个变量,但它们被括号包裹,构成一个单一的表达式。
* 因此,这算作 **1 个** 实参。
2. **第二个实参**:`(v3, v4, v5)`
* 这也是一个逗号表达式。它依次计算 v3、v4、v5,最终结果为 v5 的值。
* 因此,这也算作 **1 个** 实参。
3. **第三个实参**:`v6`
* 这是一个普通的变量。
* 因此,这算作 **1 个** 实参。
### 结论
综上所述,函数 `exce` 接收的实参分别是:
1. 表达式 `(v1, v2)` 的结果
2. 表达式 `(v3, v4, v5)` 的结果
3. 变量 `v6`
总共有 **3** 个实参。
因此,正确答案是 **A**。
题目纠错
c语言选择判断题库
相关题目
单选题
1、第279题 (1.0分) 题号:560 能将高级语言编写的源程序转换为目标程序的是()。
单选题
1、第278题 (1.0分) 题号:511 求平方根函数的函数名为()。
单选题
1、第277题 (1.0分) 题号:618 C语言中用于结构化程序设计的三种基本结构是()。
单选题
1、第276题 (1.0分) 题号:706 若有说明:int *p,m=5,n;以下正确的程序段是()。
单选题
1、第275题 (1.0分) 题号:102 以下数据中,不正确的数值或字符常量是()。
单选题
1、第274题 (1.0分) 题号:596 下面四个选项中,均是不合法的用户标识符的选项是()。
单选题
1、第273题 (1.0分) 题号:492 下列程序段的输出结果为()。 float x=213.82631; printf(”%3d”,( );
单选题
1、第272题 (1.0分) 题号:702 对于基本类型相同的两个指针变量之间,不能进行的运算是()。
单选题
1、第271题 (1.0分) 题号:588 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是()。
单选题
1、第270题 (1.0分) 题号:109 C语言中,double类型数据占()。
