int main() { int m,n; while(scanf("%d %d",&m,&n) != EOF) { int **num = (int **)malloc(m*sizeof(int *)); if(num == NULL) exit(EXIT_FAILURE); int i; for(i=0;i<m;i++) { num[i] = (int *)malloc(n*sizeof(int)); if(num[i] == NULL) exit(EXIT_FAILURE); } int j; for(i=0;i<m;i++) for(j=0;j<n;j++) scanf("%d",&num[i][j]); PrintMatrixClockwisely(num,m,n); printf("\n"); for(i=0;i<m;i++) { free(num[i]); num[i] = NULL; } free(num); num = NULL; } return 0; }
// ====================测试代码==================== void Test(int columns, int rows) { printf("Test Begin: %d columns, %d rows.\n", columns, rows); if(columns < 1 || rows < 1) return; int** numbers = new int*[rows]; for(int i = 0; i < rows; ++i) { numbers[i] = new int[columns]; for(int j = 0; j < columns; ++j) { numbers[i][j] = i * columns + j + 1; } } PrintMatrixClockwisely(numbers, columns, rows); printf("\n"); for(int i = 0; i < rows; ++i) delete[] (int*)numbers[i]; delete[] numbers; }