#include <stdio.h> #include<stdlib.h> int main() { int n, m; scanf("%d %d", &n, &m); //动态输入二维数组的行数列数 int** a = (int**)malloc(n * sizeof(int*)); //定义一个二维数组并为二维数组的行进行动态分配内存地址 long long sum = 0; for(int i = 0; i < n; i++) { a[i] = (int*)malloc(m * sizeof(int));//为数组的每一列动态分配内存地址 } for(int j = 0; j < n; j++)//双for循环遍历数组每一个元素并求和 { for(int k = 0; k < m; k++) { scanf("%d",&a[j][k]); sum = sum + a[j][k]; } } printf("%lld", sum); return 0; //注:此代码未进行地址释放,此为大错 }