询问一道选择题(希望可以给出答案和解释)
以下叙述中错误的是 _____。
选择一个答案
A. 在 C 语言中,在调用函数时,实参和对应形参在类型上只需赋值兼容。
B. 在 C 语言中,函数形参的存储类型是自动(auto)类型的变量。
C. 在 C 语言中,外部变量的隐含类别是自动存储类别。
D. 在 C 语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值。
[解决办法]
错误的应该是c
外部变量即全局变量,用关键字auto作存储类别的自动变量指的是函数中的局部变量,包括函数的形参和在函数中定义的变量。
[解决办法]
[解决办法]
[解决办法]
[解决办法]
C错的!外部变量(extern声明的函数外部的变量)都是静态存储的,作用域为定义处到文件结尾。
D对的!自动变量(auto/省略)都是函数调用时分配内存,调用完释放!
[解决办法]
c是错误的
存储类别有四种
1 auto
2 extern
3 static
4 register
存贮区域有三种
1 程序区
2 静态区
3 动态区
auto属于动态存储 extern static为静态存储
auto和extern都可以省略 但是 变量所在的位置不同 代表省略的含义不同。