真的烦人,今天在做一道题的时候,发现一个问题,数组的初始化能不能这样,
int N=0;
scanf("%d",&N);
int a[N]={0};
int N=0;
scanf("%d",&N);
int a[N];
结果是不能的,不知道为什么,反正待定参数不能这样初始化。
而且数组声明了必须要初始化,不然后会有脏数据,比如这样也是错误的,
int a[1001];
方正就是说数组必须要初始化,不然他喵的老是错误!!!!
确定长度:
int a[10]={0};
char str[10]="\0"; //等价于char str[10]={0};
int a[10]={0,1,2,3,4,5,6,7,8,9};
char str[10]="Hello"; //也可以写成char str[10]={'H','e','l','l','o','\0'}
待定长度:
int a[N];
for(int i=0;i<N;i++){
a[i]=0;
}
char out[81]="";//这里的81指的是字符串的最大长度
int a[N];
for(int i=0;i<N;i++){
scanf("%d",&a[i]);
}