单选题
1、第261题 (1.0分) 题号:677 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()。
A
函数调用可以作为独立的语句存在
B
函数调用可以作为一个函数的实参
C
函数调用可以出现在表达式中
D
函数调用可以作为一个函数的形参
答案解析
正确答案:D
解析:
**解析:**
本题考查的是 C 语言(或类似结构化编程语言)中函数调用的使用规则。我们需要分析有返回值的函数调用在代码中可以出现的位置。
1. **分析选项 A:函数调用可以作为独立的语句存在**
* **正确**。即使函数有返回值,我们也可以忽略该返回值,仅利用函数执行其副作用(如打印信息、修改全局变量等)。例如:`printf("Hello");` 或 `int x = getValue();` 中的 `getValue()` 若单独写成 `getValue();` 也是合法的语句。
2. **分析选项 B:函数调用可以作为一个函数的实参**
* **正确**。函数的返回值可以传递给另一个函数作为参数。例如:`printf("%d", getMax(a, b));`,这里 `getMax(a, b)` 的返回值作为了 `printf` 函数的实参。
3. **分析选项 C:函数调用可以出现在表达式中**
* **正确**。因为函数有返回值,所以函数调用本身具有值,可以参与运算。例如:`int sum = add(1, 2) + 5;`,这里 `add(1, 2)` 出现在赋值表达式和加法运算中。
4. **分析选项 D:函数调用可以作为一个函数的形参**
* **错误**。**形参(Formal Parameter)** 是在函数**定义**时声明的变量,用于接收调用者传递的数据。形参必须是变量声明(如 `int a`, `float b`),而不能是一个“函数调用”。
* 函数调用发生在函数**使用**(调用)阶段,此时传递的是**实参(Actual Argument)**。
* 简单来说:形参是“坑位”,实参是“萝卜”。你可以把“函数调用的结果”(萝卜)放进“形参”(坑位)里,但不能说“函数调用”本身是“形参”。形参只能是变量名及其类型定义。
**结论:**
选项 A、B、C 均描述了函数调用作为“值”或“动作”在程序中的合法用途,而选项 D 混淆了“形参”和“实参”的概念,函数调用只能作为实参传递,不能作为形参定义。
因此,错误的叙述是 **D**。
题目纠错
c语言选择判断题库
相关题目
单选题
1、〖第38题〗77) 以下描述中,正确的是()。
单选题
1、〖第37题〗528) 对于void类型函数,调用时不可作为()。
单选题
1、〖第36题〗88) 两个指针变量不可以()。
单选题
1、〖第35题〗567) 以下叙述中正确的是 ()。
单选题
1、〖第34题〗454) 以下函数调用语句中实参的个数是()。 func((e1,e2),(e3,e4,e5));
单选题
1、〖第33题〗214) C语言中的文件的存储方式有()。
单选题
1、〖第32题〗603) 以下符合C语言语法的赋值表达式是()。
单选题
1、〖第31题〗601) 下面四个选项中,均是不合法的浮点数的选项是()。
单选题
1、〖第30题〗730) 若以”a+”方式打开一个已存在的文件,则以下叙述正确的是()。
单选题
1、〖第29题〗734) 以下可作为函数fopen中第一个参数的正确格式是()。
