局部变量

来源:百度知道 编辑:UC知道 时间:2024/06/14 00:19:24
void fk ( ) {
int i ;
printf( "%d " , i++);
}
int main ( ){ int j ;
for ( j = 0 ; j < 10 ; ++j ) fk ( ) ;
}

这段代码在c++/c上运行由于局部变量没有初始化,导致结果不正确。有没有可能在在其他的平台上产生如01234……的结果。解释一下产生的原因

不可能是01234......因为i是局部变量,每次都被重新初始化,只有可能输出00000.....的值,也可能是11111......的值。

关键看局部变量定义后那块内存里面的值是什么,如果碰巧是0,就有可能出现01234...

这个与平台无关吧,在java里面局部变量不初始化的话那个i++就会报错