int main()
{
int i=21;
char *p;
p=(char*)&i;
printf("%d",*p);
getch();
return 0;
}
printf
聲明給了我完美的答案,但我認爲它不應該有作爲'p'
是一個字符指針,將能夠挽救它的基地址,但int
佔用兩個空格,*p
不該不能給我整數值,因爲它會指向地址,比如說X
,但int
存儲在兩個字節中,所以值需要從X
和X+1
地址收集,但我運行此代碼並給了我值,或者我對此有錯誤的看法?取整數值
是的,你有。谷歌「排序」和「符號擴展」。 – 2014-08-30 05:37:43
21位於字符或1個字節的範圍內。將i增加到256以上。 – 2014-08-30 05:42:04
您使用'%d',但您說它不應該打印整數值。 – 2014-08-30 05:43:09