C语言 二维数组怎么自己定义行列长度

int i, j, a, b;
scanf("%d,%d", &a, &b);
int m[a][b],n[b][a];
这样写不对,为什么 ,,,怎么改才能输入数字确定行列长度

新版本的c语言(c11)支持这种写法
以前的版本不支持追问

旧版本的话 可以怎么改??

追答

一般根据需要的长度使用动态数组实现的 malloc函数

温馨提示:内容为网友见解,仅供参考
无其他回答

C语言怎么定义一个二维数组可以使每行的输入长度任意
1、使用动态数组可以实现变长度数组。建动态数组,其他就像数组一样使用就行了。2、例程:int row=0; \/\/函数int col=0; \/\/列数int i;int ** arr=NULL; \/\/下面假设存储的数据类型为intprintf(“请输入二维数组的行数和列数:”);scanf("%d%d",&row,&col);\/\/要不要加判断输入...

c语言中数组长度怎么设置?
在C语言中,数组的长度设置方法相对直接明了。当你定义一维或二维数组时,只需在中括号[]内提供长度值即可。一维数组和二维数组的长度声明方式相同,关键在于指定的数字表示的是数组的大小,注意索引是从0开始计算的。例如,要定义一个长度为5的一维整数数组,你可以这样做:c int a[5]; \/\/ 定义一维...

C语言中怎样定义一个未知行数和列数的二维数组?
1、使用malloc函数,先分配第一维的大小,然后再循环分配每一维的大小。2、例程,分配3行4列二维数组:include <stdio.h>#include <malloc.h>int main(){ int **a; int i, j; a = (int**)malloc(sizeof(int*)*3);\/\/为二维数组分配3行 for (i = 0; i < 3; ++i){...

C语言中二维字符数组应该怎样赋值?
二维数组赋值的一般形式是:dataType arrayName[length1][length2]。result二维字符数组可以这样赋值,result[0][0]=seq1[0] ;result[1][0]=seq2[0]。dataType arrayName[length1][length2],其中,dataType 为数据类型,arrayName 为数组名,length1 为第一维下标的长度,length2 为第二维下标...

c语言定义了一个二维字符数组怎么赋值,要求输入n表示n行,然后每行输入...
首先用gets()取得字符串,然后用strcpy()函数进行赋值。我的编译器没有VLA的功能,所以我定义了4行,有这个功能的话把4改成n就可以 include<stdio.h> include<string.h> int main(void){ int i;char string[4][100];char str[100];for(i=0;i<4;i++){ gets(str);strcpy(string[i],...

c语言中二维数组哪个是行,哪个是列
1、二维数组的第一个参数是行,第二个参数是列。二维数组定义的一般形式是: 类型说明符 数组名[常量表达式1][常量表达式2],其中常量表达式1表示第一维下标的长度,常量表达式2 表示第二维下标的长度。2、C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、...

c语言中在不知道二维数组行列数的情况下怎么在函数里调用这个二维数组...
行数 = sizeof(array)\/sizeof(array[0]);列数 = sizeof(array[0])\/sizeof(array[0][0]);你也可以在函数形参里加入行列值,然后主函数调用子函数的时候,把行列数做为参数传过去。

c语言二维数组如何定义字符串???急。。。
c语言二维数组定义字符串的步骤如下:1、我们先是定义一个二级指针和行列变量【int **array,row,column;】。2、然后我们用c语言编写输入行列的语句。3、接下来我们就可以为其开辟一个一个一维装着一维数组的数组。4、接下来我们使用【array[i]=(int *)malloc(sizeof(int)*column);】为数组再次...

c语言中a[4][3]、x[10][4]什么意思?
a[4][3]、x[10][4]在c语言中是二维数组的意思,也就是说你定义的是一个4行3列或者是10行4列的数组。和矩阵差不多的形式,但是在内存中其实也是连续的内存地址。一般初始化如下:int i,j;int a[4][3];for(i=0;i > 4;i++){ for(j =0;j < 3;j++){ scanf("%d",&a[i]...

c语言中一维数组为什么一定要对长度定义,不能自动补0而二维数组就可以没...
算出最小的行数。但是行列都不制定就不可以了,比如我初始化了6个元素,即可以是a[2][3]也可以是a[3][2]也可以是a[1][6],会发生歧义,是不允许的。所以二维数组的初始化必须制定一个,至于只必须制定行还是必须制定列,再C语言定义的时候大家预定俗成了制定列,所以就延续下来了。

相似回答