1
該代碼給出了一個錯誤,說明if
比較語句中的「沒有運算符匹配這兩個運算數」。我解釋,它應該意味着「一個節點不能被轉換/轉換爲一個整數」。但是,與%d
格式一起使用時,print語句輸出w[2]
的整數值。爲什麼會發生?是不是printf
鑄造?將一個節點轉換爲整數
NODE *w=(NODE *)malloc(4*sizeof(NODE));
if(w[2]==0)
printf("%d\n",w[2]);
是 -
struct node{
int key;
struct node *father;
struct node *child[S];
int *ss;
int current;
};
請參考cdhowie的評論節點的結構。他已經回答了這個問題。
打開編譯器警告。 – Mysticial
你認爲'w [2] == 0'應該做什麼?比較(第三個)節點中的每個字段以查看它是否爲零?如果有浮球怎麼辦?如果有指針呢? – wallyk
@wallyk但爲什麼它在printf中打印一個整數值? – halkujabra