再请教一题,辛苦大侠们了!
请考虑下面(错误的)C程序:void foo ( ) {
int i ;
p r i n t f ( "%d " , i ++);
}
int main ( ){ int j ;
for ( j = 0 ; j < 1 0 ; ++j ) foo ( ) ;
}
子程序foo里的局部变量根本没有初始化。然而在许多系统里,这个程序却会显示出可重复的行为,打印
0 1 2 3 4 5 6 7 8 9。请给出一个解释。也请解释为什么在其他系统里这个程序的行为可能是另外情况,或
者是不确定的。