若函数中有定义语句:int k;则系统将自动给k赋初值0还是这时的k中的值无定义?

问题描述:

若函数中有定义语句:int k;则系统将自动给k赋初值0还是这时的k中的值无定义?

看你这句话是用在什么地方了.
如果是全局变量,k的值为0.
如果是在函数内部定义的局部变量,k的值就是随机的.就是一选择题,答案是这时的k中的值无定义。感觉怪怪的哦 这说明你的k是在函数内部定义的。局部变量的内存是从栈里分配的,系统会从栈里找到一个int那么大的内存分配给k。因为这个栈里的东西没有清零,所以这段内存里的内容什么不知道是什么情况。所以,局部变量使用前必须初始化。