请教下啊这个是C语言的语法限制,还是VC 6。0的限制啊
时间:2008-06-20 09:49:08
来源:论坛整理 作者: 编辑:chinaitzhe
- C/C code
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ 就是用变量定义数组。 [code=C/C ] #include<stdio.h> main() { void build(int i); int i; i=7; build(i); } void build(int i) { int a[i][i]; }
#include <stdio.h>
- C/C code
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ main() { void build(int i); int i; i=7; build(i); } void build(int i) { int j=i; int a[j][j]; }
这样也不行,
我写个关于图的程序,我希望让用户自己输入顶点的数目n,然后根据这个数目创建邻接矩阵,a[n][n],我觉得这样设计才有通用性啊,而且不浪费空间。
很多这类代码程序都是开辟一个很大的数字MAX a[MAX][MAX],要不就是设置一个不是比N大很多的MAX,这样要是超过MAX不是又要改程序?很没通用性啊。
我的电脑,只有win-lcc32,和VC 6.0 win-lcc最近用不了,从装也用不了,所以我不知道这个是VC 的限制还是C的限制啊
网友回复:不可以,请用new .
网友回复:对于你说的都是。这是C89限制的。
要是想这样,改用支持C99的编译器
网友回复:c语言的限制,c99之后才可以吧。vc6使用的c版本还不行。
网友回复:数组定义时不答应是变量
网友回复:好好看看数组
谢谢
网友回复:
- C/C code
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ void build(int i); int main() { int i; i=7; build(i); } void build(int i) { int a[i][i]; }
这样
网友回复:
网友回复:数组实质还是以指针形式访问
直接声明一个int ** 变量
网友回复:[Quote=引用楼主 q198816 的帖子:]
C/C code就是用变量定义数组。
- C/C code
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ #include<stdio.h>main() {voidbuild(inti);inti; i=7; build(i); }voidbuild(inti) {inta[i][i]; }编译过不去 #include <stdio.h> C/C codemain() {voidbuild(inti);inti; i=7; build(i); }voidbuild(inti) {intj=i;inta[j][j]; }也过不去
这样也不行,
我写个关于图的程序,我希望让用户自己输入顶点的数目n,然后根据这个数目创建邻接矩阵,…
[/Quote]
VC6的编译器很老,建议使用更新的编译器,当然假如希望使用对标准实现比较完全的,建议用GCC
网友回复:假如,从c 的语法看,是c 的限制了,声明数组的大小不答应用变量的.
假如,从c的语法看,从c99以后,楼主的语法就没有问题了,所以你要找能够支持c99的编译器,而C99以前都的编译器都不能支持
网友回复:还是别这样用了,把数组的基本概念好好看一看
网友回复:C99标准支持lz的写法,不过为了通用性,还是用malloc来申请内存吧。
网友回复:定义数组大小的时候不答应是变量,而你的int a[j][j]中的j是变量
网友回复:不支持动态数组,数组的大小在编译的时候就需要确定
关键字:请教,语言,语法,限制,VC,
上一篇:事关魔兽啊
下一篇:下面没有链接了











文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面