读书人

c中整形初始化有关问题

发布时间: 2012-02-10 21:27:41 作者: rapoo

c中整形初始化问题
int i, j;

请问这样的语句, 会不会把初始化i,j的值为0???


[解决办法]
不能。。
[解决办法]
不会 除非是static int i,j;
[解决办法]
肯定不会了
[解决办法]
肯定不会了、可以测试的呀、、不过最好初始化一下。。
[解决办法]
是不会的~!
[解决办法]
那样只是定义它的类型而罢了,不过你也可以给它一个值
[解决办法]
要赋值才行。
[解决办法]
int i, j; 相当于:auto int i,j;
自动变量 不初始化
除非:int i = 0, j = 0;之类的
[解决办法]
不会。。。。。要自己初始化
i=0;
j=0;
[解决办法]
不会了.
这只是定义了两个整形的I,J
但是你可以给他赋值.
[解决办法]
如果是全局或静态变量,C/C++会将整数自动初始化为0。
如果是局部变量,不初始化,初始值是一个随机值。
所以看你定义在何处。如果在一个函数内部(局部变量),那么不初始化。如果在函数外部定义(全局变量),那么被初始化为0了。
[解决办法]
建议LZ先恶补一下C语言基础知识
对于局部变量,在定义时不对其进行初始化,编译时初始值是随机的,
只有全局变量或static变量不初始化,默认值为0,bool型变量默认值为false;
[解决办法]
如果是局部变量,不初始化,初始值是一个随机值。

关于这个随机值,会不会是编译时,给变量分配了存储空间,但是因为没有初始化,所以原存储空间的值没有抹掉,所以会表现为一个随机的值?

求教
[解决办法]
回楼上:
局部变量是在堆栈中分配空间的! 如果没有初始化,值是随机的!
未初始化的全局和静态变量是在BSS中的,ANSI C要求BSS的数据初始化为零!

[解决办法]
要看你的编译系统 有的会 有的不会

读书人网 >C语言

热点推荐