若函数中有定义语句:int k;则( ) A 系统将自动给k赋初值0 B 这时k中的值无定义 C若函数中有定义语句:int k;则( ) A 系统将自动给k赋初值0 B 这时k中的值无定义 C 系统将自动给k赋初值—1 D 这时k中无任何值

问题描述:

若函数中有定义语句:int k;则( ) A 系统将自动给k赋初值0 B 这时k中的值无定义 C
若函数中有定义语句:int k;则( ) A 系统将自动给k赋初值0 B 这时k中的值无定义 C 系统将自动给k赋初值—1 D 这时k中无任何值

B,int k代表这是一个存储在内存 |栈| 区域的一个 |动态|的存储空间.只有存储在栈区间的静态存储变量才会被初始化为0.静态栈存储有两种:
1:全局变量,在函数以外定义的变量
2:函数体内带有static前缀的静态变量.
除了这两类其他定义的动态变量的值都是未定义的.