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!
我好象比较麻烦啊...呵呵
C语言中,如果定义一个变量,但不对其进行赋值,那么输出的这个变量的值由什么决定呢?
答案:1 悬赏:70 手机版
解决时间 2021-08-18 11:02
- 提问者网友:轮囘Li巡影
- 2021-08-18 06:49
最佳答案
- 五星知识达人网友:想偏头吻你
- 2021-08-18 08:27
操作系统回收内存单元后并不会清除其内容,当程序运行时需要为变量分配空间时就从这些回收的单元中分配,因此变量不赋初值,其值是不确定的.在不同的时刻运行,输出不同;在不同的机器上运行,输出也会不同.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
正方形一边上任一点到这个正方形两条对角线的 |
阴历怎么看 ? |