我的c语言编码哪里错了

[复制链接]
查看11 | 回复5 | 2013-6-22 15:16:42 | 显示全部楼层 |阅读模式
你的数组定义错了,在c语言中,数组的定义只能用确定的常量;不能用变量动态的分配数组的长度;你这里的int m1[j];就错了,你的把数组的最大长度用确切的常量表示出来,例如:int m1[3][4];或者使用宏定义 #define a 3
#define b4
//必须写在函数的外面和全局变量的功能相似,但它的值一旦被定义
//就不能再赋其他值,当做一个常量使用int m1[a];希望我的回答对你有帮助!...
回复

使用道具 举报

千问 | 2013-6-22 15:16:42 | 显示全部楼层
问题在于:int m1[j];这句中m1的i,j是变量,这样是不合法的,有两种情况才可以这样定义巍巍数组m1一是i,j均为常量,即用define 定义i,j.二是为数组m1申请一个动态存储空间。...
回复

使用道具 举报

千问 | 2013-6-22 15:16:42 | 显示全部楼层
你遇到什么错误现象是什么?在C语言中,执行代码后面不许定义变量,因此int i=0后面定义的变量都是非法的...
回复

使用道具 举报

千问 | 2013-6-22 15:16:42 | 显示全部楼层
int m1[j]是不允许的,必须用常量进行定义,如int m1[100][100];...
回复

使用道具 举报

千问 | 2013-6-22 15:16:42 | 显示全部楼层
int m1[j]定义是非法的,数组的长度必须是确定值,不能为变量;改成int m1[100][100];就可以了,但要注意,这是a和b就不要输入超过100的数了!否则内存会越界!...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行