A是不是全为0,无须再: int i=0; int j=0; for(i=0;i<100000;i++){ for(j=0;j<30;j++){ A[i][j]=0; } }
[解决办法] 测试程序
C/C++ code
#include<stdio.h>int A[3][3];main(){ int i=0; int j=0;for(i=0;i<3;i++){ for(j=0;j<3;j++){ printf("%d",A[i][j]); }}} [解决办法] 全局变量会自动被初始化 int 型初始化为0 char型初始化为a [解决办法] 全局变量默认都是0,无论是什么类型的。。。 [解决办法] 全局默认初始化0 [解决办法]
[解决办法] C++ 0x:
3.7.1 Static storage duration [basic.stc.static] 1 All variables which do not have dynamic storage duration, do not have thread storage duration, and are not local have static storage duration.
3.6.2 Initialization of non-local variables [basic.start.init]
2 Variables with static storage duration (3.7.1) or thread storage duration (3.7.2) shall be zero-initialized (8.5) before any other initialization takes place.
所以,全局变量int A[100000][30];会用0来初始化。
当然,也可以 int A[100000][30] = {{0}};用不着循环 [解决办法] 是的。 [解决办法] 全局变量+静态变量:自动初始化为0;