短的
i = 65536printf("%d\n,I);酒吧
如果是,輸出結果為0。
我看了壹下拆解的結果,我來解釋壹下為什麽是0。
65536對應16十進制10000h,
編譯後I=65536,結果是
mov
[i],10000h
I只占10000h對應的16位的低位16位,最高的1位因為無法保存而自動丟棄,所以I的值為0。
不知道其他編譯器有沒有做同樣的事情,我猜應該差不多。
忘記說了,我的ide是vs2010。