作者LPH66 ((short)(-15074))
看板C_and_CPP
標題Re: [閒聊] facebook上的C語言測驗
時間Fri Aug 14 04:53:55 2009
※ 引述《runtime (LLLLL)》之銘言:
: http://apps.facebook.com/mentaltest-zmacgno/
: facebook上的C語言測驗
: 試試看自己的程度吧
: 有一些題目還不賴
: 沒有臉書的 看以下
: ==全部copy過來==
: 1. void *i = 3; int j = 7; printf("%d\n",i+j); 請問結果為何者?
: a 跑出一連串亂碼的數字
: b 無法編譯此程式
: c 10
: d 7
我想到一件事....
gcc 的 extension 有一個相關:
http://gcc.gnu.org/onlinedocs/gcc-4.4.1/gcc/Pointer-Arith.html
這裡是把 void * 看成元素長度是 1 去做運算
不過印象中標準裡是不允許 void * 去做 pointer arithmetic 的....
--
**** 說:
不要期望一個精神力差不多已經見底的人阿Orz
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.84
推 VictorTom:換句話說答案應該是b, 這樣就比較合理一點了....:) 08/14 09:18
推 ledia:怎麼不印 sizoef(void *) 看看是多大 XD 08/14 10:19
推 VictorTom:void *是可以sizeof的, 大小看環境吧....@_@" 08/14 10:30
→ VictorTom:不過現在是說對void*做算術運算的結果吧?_? 08/14 10:31
推 Ebergies:sizeof( void*) 在 32bit address 裡一定是 4bytes 吧 08/14 11:33
→ Ebergies:問題在於好像沒有 sizeof( void)... 08/14 11:34
推 weiyucsie:有種相容於char *的感覺XD 08/14 16:04