#include <stdio.h>
int main()
{
int val;
printf("blah%p%nblah", &val, &val);
printf("val = %d\n", val);
return 0;
}
該演示程序在32位機器上編譯。我認爲val
應該是8 但我得到這個:printf%n如何計算字符?
$ ./a.out
blah0xffa9b6fcblahval = 14
爲什麼14? blah
是4個字符。 IA32中的指針應該是4個字節。 %n
什麼都不打印。
關閉這個重複的代碼似乎是從該答案中獲得的,而這個答案已經回答了這個問題。 – Lundin