单选题
4.C语言程序中,若对函数类型未加显式说明,则函数的隐含说明类型为()。
A
void
B
double
C
int
D
char
答案解析
正确答案:C
解析:
在 C 语言(特别是早期的 C89/C90 标准)中,如果定义或声明函数时没有显式指定返回类型,编译器会默认该函数的返回类型为 `int`。
**详细解析:**
1. **历史背景与标准规定**:
* 在 **C89/C90** 标准中,规定若函数未指定返回类型,则默认为 `int` 型。这被称为“隐式 int”规则(implicit int)。
* 例如,写法 `fun() { return 1; }` 等价于 `int fun() { return 1; }`。
2. **现代标准的变化**:
* 在 **C99** 及以后的标准(如 C11、C17)中,这一规则已被废除。现代 C 编译器要求必须显式声明函数的返回类型,否则通常会发出警告或错误。
* 尽管现代编程规范强烈建议显式写出返回类型,但在各类计算机等级考试、教材以及针对传统 C 语言特性的考题中,通常仍依据 C89 标准考察这一知识点,即默认类型为 `int`。
3. **选项分析**:
* A. `void`:表示无返回值,必须显式声明。
* B. `double`:双精度浮点型,必须显式声明。
* C. `int`:整型,是传统 C 语言中未声明返回类型时的默认隐含类型。
* D. `char`:字符型,必须显式声明。
因此,根据题目考查的传统 C 语言规则,正确答案是 **C**。
题目纠错
c语言选择判断题库
相关题目
单选题
1、下列语句的输出结果是()。
单选题
1、执行下列语句后,a和b的值分别为()。 int a,b; a=1+'a'; b=2+7%-4-'A';
单选题
1、以下数据中,不正确的数值或字符常量是()。
单选题
1、以下能对二维数组a进行正确初始化的语句是()。
单选题
1、下列程序的输出为()。 main() 
单选题
1、假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};, 则数组x在内存中所占字节数是()。
单选题
1、下列字符序列中,不可用作C语言标识符的是()。
单选题
1、若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是()。
单选题
1、已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为()。char a='a'; a--; printf(”%d,%c\n”,a+'2'-'0',a+'3'-'0');
单选题
1、对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是()。
