单选题
1、第121题 (1.0分) 题号:673 C语言规定,函数返回值的类型是由()。
A
return语句中的表达式类型所决定
B
调用该函数时的主调函数类型所决定
C
调用该函数时系统临时决定
D
在定义该函数时所指定的函数类型所决定
答案解析
正确答案:D
解析:
**解析:**
在 C 语言中,函数返回值的类型是在**定义函数时**确定的,具体由函数声明或定义中的返回类型指定。
1. **定义决定类型**:当我们在代码中定义一个函数时例如 `int func() { ... }`,这里的 `int` 就明确规定了该函数必须返回一个整型值。无论函数内部 `return` 语句后面跟着什么类型的表达式,最终返回给调用者的值都会被强制转换为定义时指定的类型(如果类型不一致,编译器会尝试进行隐式类型转换,若无法转换则会报错)。
2. **辨析其他选项**:
* **A 错误**:`return` 语句中的表达式类型并不决定函数的返回类型。如果 `return` 表达式的类型与函数定义的返回类型不一致,系统会将表达式的值转换为函数定义的返回类型。例如,函数定义为 `int`,但 `return 3.14;`,最终返回的是整数 `3`。
* **B 错误**:主调函数(调用者)的类型与被调函数的返回类型无关。主调函数只需要知道被调函数的原型即可,不能改变被调函数的返回类型。
* **C 错误**:C 语言是静态类型语言,类型在编译时确定,而不是在运行时由系统临时决定。
因此,函数返回值的类型是由**在定义该函数时所指定的函数类型**所决定的。
**正确答案:D**
题目纠错
c语言选择判断题库
相关题目
单选题
1、第138题 (1.0分) 题号:134 若a是float型变量,b是unsigned型变量,以下输入语句中合法的是()。
单选题
1、第137题 (1.0分) 题号:733 以下叙述中不正确的是()。
单选题
1、第136题 (1.0分) 题号:620 下列运算符中优先级最高的是()。
单选题
1、第135题 (1.0分) 题号:499 以下常量中,能够代表逻辑”真”值的常量是()。
单选题
1、第134题 (1.0分) 题号:143 C语言中以下几种运算符的优先次序()的排列是正确的。
单选题
1、第133题 (1.0分) 题号:170 关于return语句,下列正确的说法是()。
单选题
1、第132题 (1.0分) 题号:128若int类型数据占两个字节,则下列语句的输出为()。int k=-1; printf(”%d,%u\n”,k,k);
单选题
1、第131题 (1.0分) 题号:705 若有语句int *point,a=4;和 point=&a;下面均代表地址的一组选项是()。
单选题
1、第130题 (1.0分) 题号:167 下列语句中,不正确的是()。
单选题
1、第129题 (1.0分) 题号:651 以下定义语句中,错误的是()。
