c语言数组,怎么样从键盘上输入行数和列数?

int n,m;
int a[n][m];
scanf("%d,%d",&n,&m");
这样为什么是错的?要怎么该才行???

你可以这样做:(以int型为例)

int **a;
int m,n,i;
scanf("%d%d",&m,&n);  //输入你此次想要创建数组的行数和列数,储存在m和n中
 
a=(int**)malloc(m*sizeof(int*));   /*malloc函数在stdlib.h里面,用的时候加入这个头文件*/

for(i=0;i<m;i++)
a[i]=(int*)malloc(n*sizeof(int));
 
/*这样以后你就可以把a当作二维数组a[m][n]来用了。。
 
由此可以实现,创建不确定行列数的二维数组了  ( 前提你知道malloc函数的意义,并要掌握指针的基础知识哦 ) 
 采纳我哟~~

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-10
你的scanf中用逗号分隔了两个格式符,则输入时也要用逗号分开

比如输入 2和5
2,5按下回车就行了追问

不行的

相似回答