看板 b97902HW 關於我們 聯絡資訊
批改娘跟我說 source.c:44: warning: left-hand operand of comma expression has no effect source.c:44: warning: left-hand operand of comma expression has no effect 那一行是 printf("%08X: %*s\n", ((unsigned int)(address + i), w, *(char*)(address + i))); 那什麼意思? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.73.234.91 ※ 編輯: jigfopsda 來自: 203.73.234.91 (11/15 18:25)
ming1053:address沒cast之前不能+i吧 11/15 18:28
anfranion:要先強制轉換型別唷 11/15 18:43
jigfopsda:所以是(unsigned int)((char*)address + i)這樣? 11/15 18:54
sa072686:是的,沒轉之前它不知道該移多少bytes 11/15 19:00
sa072686:這篇300耶 11/15 19:00
ckclark:這個warning是說你傳了printf("..", (xxx, xxx, xxx)); 11/15 19:03
ckclark:後面是一個用comma隔開的"一"個expression 11/15 19:04
jigfopsda:原來如此...謝謝 11/15 19:13
abc123denny:請問print之前一定要轉成(unsigned int)嗎? 11/15 19:16
abc123denny:能不能直接轉換指標型態(例如(char*))就直接印出? 11/15 19:16
sa072686:可以 11/15 20:07
abc123denny:了解,謝謝! 11/15 20:14