...N 10 int x[N] ;与int N=10 ;int x[10];为什么前面对,后面这个是...

发布网友 发布时间: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是变量,数组声明的时候,其元素个数只能是常量,不能是变量。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com