a 是正确的,全局变量在整个程序中都有效,可以被其他函数调用,每调用一次,并用调用的时候改变它的值,那么它就会获取一个新值,而多个函数调用,就会产生多个值,即操作结果,当你改变全局变量的值时,其他引用这个全局变量的地方的值也会发生改变的,所以全局变量要慎用.
b是错的,定义变量的时候,系统会为它开辟一个内存空间,是随机的,如果你不为它赋值,那么这个内存空间中的值就是这个变量的值,并且这个值是不确定的,系统并不会默认它为0.
例如,系统为它开辟了一个内存空间,而这个内存空间中原来有一个值为6,而这个变量并没有被赋值,那么,调用输出这个变量的时候,将会输出这个内存空间中原来就有的值6,系统是不会为它默认0值的.
c 静态局部变量即定义为static的局部变量,这个静态局部变量的值在函数调用完后,其所占用的内存是不会被释放的,即它在程序结束前是一直占据这个内存而不会消失的,自然其内的值也就不会消失了,而如果不是静态局部变量 ,而只是普通的变量的话,在函数调用完后,它所占据的内存将会被释放,那么这个值也就没了,即消失.
d 全局变量如果不初始化,那么它的值是0,局部变量不初始化,它的值不确定.