[問題] C語言 結構上的判斷式

看板C_and_CPP (C/C++)作者 (今天我NG了)時間15年前 (2010/07/29 14:24), 編輯推噓1(108)
留言9則, 4人參與, 最新討論串1/1
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

07/29 14:28, , 1F
呃,你有仔細看看錯誤訊息嗎?
07/29 14:28, 1F

07/29 14:29, , 2F
一定要這麼寫的話,應該可以 if(*(int*)&hi[i] != 0){
07/29 14:29, 2F

07/29 14:37, , 3F
haha 結構裡放的是 eat 成員, eat 的型態是 int, haha
07/29 14:37, 3F

07/29 14:38, , 4F
跟 int 一點關係都沒有, 當然不能這樣用, 而且這看起
07/29 14:38, 4F

07/29 14:38, , 5F
hi[i].eat != 0 這樣呢 @@
07/29 14:38, 5F

07/29 14:39, , 6F
起來一點也不像 C ...
07/29 14:39, 6F

07/29 14:52, , 7F
感謝樓上幾位大大的回答 1F大的方法我嘗試過 但卻失敗說XDD
07/29 14:52, 7F

07/29 14:53, , 8F
其他說的都對 loveme大說的特別清楚 謝謝:D nowar也對XDDD
07/29 14:53, 8F

07/29 14:57, , 9F
不要說"錯"或"失敗"啥的 請列上錯誤訊息....
07/29 14:57, 9F
文章代碼(AID): #1CKHwjPp (C_and_CPP)
文章代碼(AID): #1CKHwjPp (C_and_CPP)