C的一个简单问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 12:58:06
main()
{
int m;//m没有赋值
printf("%d",&m);
}
为什么输出的总是一个相同的数(85。。。。,很大的),这个数代表什么意思(我一直以为是一个随机数的)?
当定义char n,(n也没赋值),输出为空,想问一下定义字符时,是不是初值为空?
我也觉得是一个随机数,但无论是在windows下,还是linux环境下,每次执行的结果都是同一个数。。

首先,对于没有定义的变量,它的值是不可知的,所以一般是一个不确定的很大的值,不过对于同一台电脑来说,执行是同一个值,这里面有随机因子,等你学了产生随机数就知道了;
对于没有赋值的字符变量的话,是空字符,o(∩_∩)o...

这个完全是看运气...

没有给m赋值时,他只是指向内存中的某个区域,是随机的。这个数只代表从指向的位置开始那两个字节所代表的整数的数值。

这是一个随机数,只不过每台电脑的随机数不同而已,当你学了rand函数以后就会明白了,你也可以利用time函数使电脑每次产生不同的随机数!

printf("%d",&m); ?打印地址?