看板 C_and_CPP 關於我們 聯絡資訊
typedef struct{ int eat; }haha; haha* hi; int main(){ int i; hi=(haha*)malloc(sizeof(MS)*10); 先不管haha放的是什麼(但知道放的是int) 也不管eat要放什麼... for(i=0; i<10; i++){ if(hi[i]!=0){ <-------------這個地方一直錯= =" printf("%d\n", hi[i]); } } 於是我又換另外一種寫法 for(i=0; i<10; i++){ if(*(hi+i)!=0){ <-------------還是一直錯 Orz printf("%d\n", hi[i]); } } 請問我寫成結構指標 在判斷式的的地方為什麼會一直出現錯誤?? 麻煩各位先進了Orz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.107.184.71
james732:呃,你有仔細看看錯誤訊息嗎? 07/29 14:28
james732:一定要這麼寫的話,應該可以 if(*(int*)&hi[i] != 0){ 07/29 14:29
loveme00835:haha 結構裡放的是 eat 成員, eat 的型態是 int, haha 07/29 14:37
loveme00835:跟 int 一點關係都沒有, 當然不能這樣用, 而且這看起 07/29 14:38
nowar100:hi[i].eat != 0 這樣呢 @@ 07/29 14:38
loveme00835:起來一點也不像 C ... 07/29 14:39
NGboy:感謝樓上幾位大大的回答 1F大的方法我嘗試過 但卻失敗說XDD 07/29 14:52
NGboy:其他說的都對 loveme大說的特別清楚 謝謝:D nowar也對XDDD 07/29 14:53
james732:不要說"錯"或"失敗"啥的 請列上錯誤訊息.... 07/29 14:57