行啊,不要只认为动态申请就只有malloc,还有calloc,它就能办到!calloc的用法和malloc一样,就是多了一个参数,你就当它是行数吧,也许它就是为了解决这些才有的! int *a;printf("Input row, and colloumn:\n");scanf("%d%d", &row,&col);a = (int *) calloc(row, col*sizeof(int );这样不就行了!现在就可以把当作a[i*col+n](i小于row,(行数),n就是小于col了,即一行的个数的第几个)来用是一样的了,去试试吧,我记得也应该没错,很少用这个啦`其实malloc也行啊a = (int *) malloc( row*col*sizeof(int );这样就分配了这么多个了这么多,然后a[I*col+n] 来用好像道理就一样了哦!
温馨提示:答案为网友推荐,仅供参考