#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