#include <stdio.h>
#include <stdlib.h>
#define MAX 10
void main()
{
int *ptr, *arr[MAX];
int i, j;
for (i=MAX-1; i>=0; i--)
if (arr[i]=(int*)malloc(i*sizeof(int))) // <= that line!
for (j=0; j<i; j++)
*(*(arr+i)+j) = j*i;
ptr = *(arr+MAX-1);
while (*ptr)
printf ("%d ", *ptr--);
}
我不明白這是什麼命令的目的:這段代碼的目的是什麼?
arr[i]=(int*)malloc(i*sizeof(int))
我知道,這樣的malloc動態分配。 但是,arr [i]是什麼意思呢給了sizeof * i? 謝謝。
Ehm,我假設你試圖強調你的代碼中的if語句? (使用** **)你可能想要刪除它。編輯:謝謝@NiklasB – Bart 2012-02-09 12:24:29
哎呀!你是否意識到你的代碼中有6行代碼(其中2個爲空)?我建議你把這個陳述分成更小的陳述。 – pmg 2012-02-09 12:26:02
http://en.wikipedia.org/wiki/Triangular_matrix – 2012-02-09 12:34:58