在C语言程序中一维整数数组的正确定义,B和D选项的区别在哪?
在C语言程序中一维整数数组的正确定义,B和D选项的区别在哪?在C语言程序中一维整数数组的正确定义,B和D选项的区别在哪?...
在C语言程序中一维整数数组的正确定义,B和D选项的区别在哪?在C语言程序中一维整数数组的正确定义,B和D选项的区别在哪?
展开
1个回答
展开全部
其实 在当前的编译器中,B和D都是正确的.
不过 在最早的ANSI C标准中,不可以用变量来定义数组规模. 也就是说B是不对的.
实际上现在的编译器,除了很老版本的,都多少支持了C99或者部分支持,变量定义数组规模也都是合法的.
而D, 是定义了一个宏, N是作为常量使用的. 这就是和B中变量n的区别
于是在编译时, D被替换为 int a[10]; 自然是合法的了.
不过 在最早的ANSI C标准中,不可以用变量来定义数组规模. 也就是说B是不对的.
实际上现在的编译器,除了很老版本的,都多少支持了C99或者部分支持,变量定义数组规模也都是合法的.
而D, 是定义了一个宏, N是作为常量使用的. 这就是和B中变量n的区别
于是在编译时, D被替换为 int a[10]; 自然是合法的了.
追问
一、什么是宏?
二、B选项中不是已经定义了使n=10,在数组中不也是常量么?
追答
宏定义以及什么是变量,自己找书看一下就知道了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询