| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1638 人关注过本帖
标题:整型数据未赋值前的数值是哪来的?
只看楼主 加入收藏
飞石
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2007-3-10
收藏
 问题点数:0 回复次数:10 
整型数据未赋值前的数值是哪来的?
程序如下
main()
{ int o,p,q;
printf("o=%d,p=%d,q=%d\n",o,p,q);
}

这个程序中,输出结果为o=0,p=64,q=3129请问这个值是从哪里来的?好像并不是随机,我将o、p、q改成i、j、k输出结果也一样。

是TC中定义好的吗?
搜索更多相关主题的帖子: 整型 赋值 数值 数据 定义 
2007-10-15 22:39
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
这肯定是随机值,不知LZ是如何这么肯定不是随机值的。
你的改法并不能说明你的论点

~~我的明天我知道~~
2007-10-15 22:42
琴之弦
Rank: 2
等 级:论坛游民
威 望:2
帖 子:651
专家分:88
注 册:2007-9-6
收藏
得分:0 

你应该换一台电脑看看 这个是随机的 .


琴舞梦幻独为君,弦断醉醒泪无数。jerry0908mo.blog.
2007-10-15 22:45
孤独败天
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-9-20
收藏
得分:0 
是随机的一个数  不过好象没有什么意义哦
2007-10-16 04:38
cobby
Rank: 1
等 级:新手上路
威 望:1
帖 子:565
专家分:0
注 册:2007-7-11
收藏
得分:0 
是这样的,int a;变量a被定义,并通过编译器给a分配一个内存空间(内存地址),然后a=3;往里面赋值。

但当定义但未赋值前,这个内存地址有可能是其它程序运行用过的,那个程序退出后,留下了这个内存空间,由于此空间没有指针指向,于是操作系统认为它是可用的(空闲的),分配给了你的程序。所以,你的a=3只是复盖原来的值。而你没有赋值前,这个值是多少是不知道的。

至于为什么看上去都一样不是随机的,原因是当你运行你的同一个程序时,如果系统环境没改变,编译器会把同一个内存地址分配给你的a,只要那个地址没有被重新利用过,值就一直不变。

明白了没?

努力成为菜鸟!
2007-10-16 08:08
琴之弦
Rank: 2
等 级:论坛游民
威 望:2
帖 子:651
专家分:88
注 册:2007-9-6
收藏
得分:0 
LS 说的够清楚了    好样的  

琴舞梦幻独为君,弦断醉醒泪无数。jerry0908mo.blog.
2007-10-17 07:10
飞石
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2007-3-10
收藏
得分:0 
cobby说得很详细,我明白了,谢谢。
但我希望琴之弦和pinglideyu能在你们自己机器上把这段程序试一下,然后把结果发上来

我们拳头里握着自己的信仰
2007-10-17 13:39
琴之弦
Rank: 2
等 级:论坛游民
威 望:2
帖 子:651
专家分:88
注 册:2007-9-6
收藏
得分:0 

和你的一样


琴舞梦幻独为君,弦断醉醒泪无数。jerry0908mo.blog.
2007-10-17 15:26
sishui198
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2007-4-12
收藏
得分:0 

随机的


2007-10-18 14:45
once_again
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-10-4
收藏
得分:0 
有的编译器是随机的,有些是全赋0,不过TC里好像是随机的,如果是整型数组的话,那肯定是赋0了

要想学好六脉神剑就得先学好北冥神功!!!!
2007-10-18 17:05
快速回复:整型数据未赋值前的数值是哪来的?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012721 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved