今天,遇到一个很有意思的题,当初认为会很简单,但是调试过程一直不顺利。大约持续了一个小时,后来才在一本书上看到的解决办法。
题目如下:用处输入一个二维数组的长度N,然后输入数组元素。要求输出数组,以及数组的每一行之和。
一开始我是这样想的
#include <stdio.h>
int main()
{
int i, j;
int m = 0;
printf("enter a number m:");
scanf("%d", &m);
int str[m][m];
int sum[m];
for(i=0;i<m;i++)
sum[i]=0;
for (i = 0; i<m; i++)
for (j = 0; j<m; j++)
scanf("%d ", &str[i][j]);
for (i = 0; i<m; i++)
for (j = 0; j<m; j++)
sum[i] += str[i][j];
for (i = 0; i < m; i++)
{
for (j = 0; j < m; j++)
printf("%d ", str[i][j]);
printf("%d\n", sum[i]);
printf("\n");
}
return 0;
后来在调试(vc6.0环境)一直在报莫名错误,于是换成C-Free环境依然不行。最后才发现要动态的申请一个数组,用malloc函数
具体代码如下
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define m 3
int main()
{
int i=0,j=0;
int **a;
int *b;
int N;
printf("请输入数组长度");
scanf("%d",&N);
a=(int