作者jigfopsda (jigfopsda)
看板b97902HW
标题[问题] 使徒八
时间Sat Nov 15 18:24:27 2008
批改娘跟我说
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)
1F:推 ming1053:address没cast之前不能+i吧 11/15 18:28
2F:推 anfranion:要先强制转换型别唷 11/15 18:43
3F:→ jigfopsda:所以是(unsigned int)((char*)address + i)这样? 11/15 18:54
4F:推 sa072686:是的,没转之前它不知道该移多少bytes 11/15 19:00
5F:→ sa072686:这篇300耶 11/15 19:00
6F:推 ckclark:这个warning是说你传了printf("..", (xxx, xxx, xxx)); 11/15 19:03
7F:→ ckclark:後面是一个用comma隔开的"一"个expression 11/15 19:04
8F:→ jigfopsda:原来如此...谢谢 11/15 19:13
9F:→ abc123denny:请问print之前一定要转成(unsigned int)吗? 11/15 19:16
10F:→ abc123denny:能不能直接转换指标型态(例如(char*))就直接印出? 11/15 19:16
11F:推 sa072686:可以 11/15 20:07
12F:→ abc123denny:了解,谢谢! 11/15 20:14