发布网友 发布时间:2024-12-03 08:15
共2个回答
热心网友 时间:5分钟前
#define N 10,是预编译过程,在编译前会把所有的N替换成10,因此int x[N]在编译前会被换成:int x[10];,N即常量10,因此不会有错。
至于 后面int N = 10; int x[N]; N为变量,在c语言中,是不允许的。
热心网友 时间:6分钟前
因为前面那个就是字符替换,预编译的时候就将 int x[N] 替换成 int x[10] 了。
而后者的N是变量,数组声明的时候,其元素个数只能是常量,不能是变量。