一个关于数组定义的问题

tpos 2010-08-12 09:47:22
以下对一维整型数组a的正确说明是。
A)int a(10); B)int n=10,a[n];
C)int n; scanf(“%d”,&n); int a[n];
D ) #define SIZE 10 int a[SIZE];

这个题答案是D,但我在编译器上试过了B和C也能定义出来并能正常使用的。以前看到过数组定义时那个元素个数要用常量表示,而且动态分配二维数组也得用melloc函数实现,如果能用变量指定下标的话,直接先让用户输入i、j的值,再分配a[i][j]不就可以了吗?疑惑中
...全文
96 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackyjkchen 2010-08-12
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 zhengweihit 的回复:]
引用 8 楼 jackyjkchen 的回复:

在国内的教材普遍使用tc和vc6的情况下,用gcc显然会有许多地方和教材冲突,但楼主的选择没错,要坚持

只是CFree那个ide太寒碜了点,codeblocks很好

up.
另外VS里面也可以把GCC集成进去。
[/Quote]
但那样的话VS的许多功能怕是用不了了,不如工程属性,那可是完全按照VC的编译器处理的
zhengweihit 2010-08-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jackyjkchen 的回复:]

在国内的教材普遍使用tc和vc6的情况下,用gcc显然会有许多地方和教材冲突,但楼主的选择没错,要坚持

只是CFree那个ide太寒碜了点,codeblocks很好
[/Quote]
up.
另外VS里面也可以把GCC集成进去。
tpos 2010-08-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jackyjkchen 的回复:]
在国内的教材普遍使用tc和vc6的情况下,用gcc显然会有许多地方和教材冲突,但楼主的选择没错,要坚持

只是CFree那个ide太寒碜了点,codeblocks很好
[/Quote]

好的,谢谢讲解与鼓励,呵呵
tonyzjg 2010-08-12
  • 打赏
  • 举报
回复
学习了
jackyjkchen 2010-08-12
  • 打赏
  • 举报
回复
在国内的教材普遍使用tc和vc6的情况下,用gcc显然会有许多地方和教材冲突,但楼主的选择没错,要坚持

只是CFree那个ide太寒碜了点,codeblocks很好
tpos 2010-08-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jackyjkchen 的回复:]
楼主在考级?
[/Quote]

汗,不是考级,我是想好好学学C,然后找个程序员的工作
jackyjkchen 2010-08-12
  • 打赏
  • 举报
回复
CFree的默认编译器就是gcc
tpos 2010-08-12
  • 打赏
  • 举报
回复
我用的是C-Free
#include <stdio.h>
int main(int argc, char *argv[])
{
int i,j,m,n;
scanf("%d%d",&i,&j);
int a[i][j];
for(m=1;m<=i;m++)
{
for(n=1;n<=j;n++){a[m][n]=m*n;printf("%3d ",a[m][n]);}
printf("\n");
}
return 0;
}

刚试过,这样也可以正常编译运行
jackyjkchen 2010-08-12
  • 打赏
  • 举报
回复
楼主在考级?
lovestefanie 2010-08-12
  • 打赏
  • 举报
回复
环境不同吧
按理数组应该用常量初始化吧,vs下只有d能用
sky198306 2010-08-12
  • 打赏
  • 举报
回复
B,C跟编译器有关系
jackyjkchen 2010-08-12
  • 打赏
  • 举报
回复
你用的gcc(dev c++、codeblocks等等)?C99标准支持变量数组

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧