C语言中,如果定义一个变量,但不对其进行赋值,那么输出的这个变量的值由什么决定呢?
比如这个程序:
#include
#include
main()
{
int a;
printf("%d",a);
getch();
}
并没有对a赋值,为什么运行完输出的结果是1992732927呢?
另外,我把int a;换成char a;相当于定义一个字符型变量,同样不对其赋值并以整数型式%d输出,运行结果怎么又变成118了呢?
还有,我做了点改动,把上面的程序变成
#include
#include
main()
{
int b;
int a;
printf("%d",a);
getch();
}
相当于在定义a之前,先定义b,接着还是直接输出a,结果又变成了2293576!
我好象比较麻烦啊...呵呵
人气:174 ℃ 时间:2019-08-19 23:58:23
解答
操作系统回收内存单元后并不会清除其内容,当程序运行时需要为变量分配空间时就从这些回收的单元中分配,因此变量不赋初值,其值是不确定的.在不同的时刻运行,输出不同;在不同的机器上运行,输出也会不同.
推荐
- C语言:a是实型变量,C允许进行赋值a=10,但不可以这样说:实型变量中允许存放整型值.
- 在C语言中,定义一个整型变量后,给它赋初值,然后要怎样赋值,才能...
- 若变量已正确定义并赋值,下面符合C语言语法的表达式是
- 假如运动员的时间和路程都不相同时,物理量中用什么来表示物体运动的快慢
- the point of the screw has to be placed in the center of the cork.
- 带歌的成语有哪些成语
- 看文章回答问题,文章和题目如下.
- 某有机化合物A对氢气的相对密度为29,燃烧该有机物2.9g,生成3.36L二氧化碳气体(密度为1.963g/L)
猜你喜欢