#include<stdio.h>
int main()
{
char *p;
p="%d\n";
p++;
p++;
printf(p-2, 400);
return 0;
}
当我运行上面的代码时,我得到输出 400。但是为什么是 400?
最佳答案
首先为p
分配格式化字符串。然后减1两次。最后它的值减二被传递给带有附加参数400的printf。
从 p
的最新值中减去 2 将其恢复为原始格式字符串。因此 printf 打印值 400。
关于c - 以下 C 程序的输出是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42183767/