单选题
1、第258题 (1.0分) 题号:672 C语言允许函数类型缺省定义,此时函数值隐含的类型是()。
A
float
B
int
C
long
D
double
答案解析
正确答案:B
解析:
在 C 语言(特别是早期的 C89/C90 标准)中,如果函数定义或声明时省略了返回类型,编译器会默认该函数的返回类型为 `int`(整型)。
**详细解析:**
1. **历史背景与标准规定**:
* 在 **C89/C90** 标准中,允许函数类型缺省。当程序员没有显式指定函数的返回值类型时,编译器会自动假设返回类型为 `int`。
* 例如,编写 `func() { return 1; }` 等价于 `int func() { return 1; }`。
2. **现代标准的变更**:
* 需要注意的是,从 **C99** 标准开始,这种“隐式 int”的规则已被废除。在现代 C 语言编译器(如 GCC、Clang 等遵循 C99 及以后标准的编译器)中,如果省略返回类型,通常会发出警告或错误,要求必须显式声明返回类型。
* 尽管现代编程规范强烈建议始终显式写出返回类型,但在各类计算机等级考试、教材以及 legacy code(遗留代码)的语境下,考察点通常基于经典的 C 语言规则,即默认类型为 `int`。
3. **选项分析**:
* A. `float`:不是默认类型。
* B. `int`:正确。这是 C 语言传统规则中的隐含默认类型。
* C. `long`:不是默认类型。
* D. `double`:不是默认类型。
因此,根据题目描述的 C 语言传统规则,正确答案是 **B**。
题目纠错
c语言选择判断题库
相关题目
单选题
1、第1题 (1.0分) 题号:513 int a[10];合法的数组元素的最小下标值为()。
单选题
1、〖第40题〗740) 若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,
单选题
1、〖第39题〗560) 能将高级语言编写的源程序转换为目标程序的是()。
单选题
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语言语法的赋值表达式是()。
