![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
C语言中 main() { int a,b; a=20; printf("%d\n",b); } 运行结果为什么是198啊!谢谢!
5个回答
展开全部
b没有赋初值
执行时,系统给b分配内存空间过程中,不会清空原有值.也就是说,运行结果是198是因为系统分配给b的内存空间中,原来的值是b
相同的代码,在不关闭编辑器条件下,多次调试,系统分配给b的内存空间很可能是相同的位置,所以可能出现多次执行运行结果都是198的情况
如果重新打开一次编辑器,重新编辑,然后执行,结果很可能就不同了.
更好的测试方法是,拿到其他机器中执行一次,由于内存空间的不同,系统仍然给b分配一个内存空间,但是这个内存空间的原有值仍然是198的概率就极小了.
执行时,系统给b分配内存空间过程中,不会清空原有值.也就是说,运行结果是198是因为系统分配给b的内存空间中,原来的值是b
相同的代码,在不关闭编辑器条件下,多次调试,系统分配给b的内存空间很可能是相同的位置,所以可能出现多次执行运行结果都是198的情况
如果重新打开一次编辑器,重新编辑,然后执行,结果很可能就不同了.
更好的测试方法是,拿到其他机器中执行一次,由于内存空间的不同,系统仍然给b分配一个内存空间,但是这个内存空间的原有值仍然是198的概率就极小了.
展开全部
你只是定义了b为int型,但是并没有对b进行赋值,或者进行其他的操作,
所以b的值是随机的,不一定就是198......
在定义的时候最好给变量赋值,哪怕是0呢,也不会出现现在的这种错误,况且也不会影响你的结果的
所以b的值是随机的,不一定就是198......
在定义的时候最好给变量赋值,哪怕是0呢,也不会出现现在的这种错误,况且也不会影响你的结果的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
b没有赋初值,所以结果b是啥不可预知。
你这里b=198是碰巧了。说不定下次就等于199啊啥的了
你这里b=198是碰巧了。说不定下次就等于199啊啥的了
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
b 你定义为INT 而没有赋值,此时运行电脑会随机产生一个数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询