#define L 1
#define M L+1
int main(void){
int N=L*M*2;
char s [N]={'1','2'};
printf("%d", sizeof(s));
return 1;
}
为什么上面的代码不能编译? Eclipse的编译器说两件事情:
- 可变大小的对象可能不被初始化:是因为N个用M或定义和L在宏观是因为我不能初始化类型 ARR数组[x]其中x是在任何情况下变量?
- 在数组初始化多余的元素 -这是什么意思?