有下列程序:
#include <stdio.h>
main ()
{
int a=2,b;
printf("a=%d,b=%d",a,b);
getch()
}
运行程序后,未被赋值的变量b为什么会输出数字来?
有下列程序:
#include <stdio.h>
main ()
{
int a=2,b;
printf("a=%d,b=%d",a,b);
getch()
}
运行程序后,未被赋值的变量b为什么会输出数字来?
定义一个变量编译器就会为该变量分配一段字节的空间。
该空间内的数是不可预见的即b输出的值。任何类型的变量都能输出值,如果你赋予该变量值后就被覆盖了,即变量a就是这样。
b的 取值是在内存中的那块内存地区的随机数!!
因为你定义了int b ; 之后系统会默认的为b赋一个初值
这个值可能是0也可能是其它的值
我们称其为垃圾值,是没有任何含义的
int默认为0
基本数据类型都有默认值的。