#include<stdio.h>
int main()
{
int a=3;
printf("%d"+1,a);
return 0;
}
为什么此程序的输出是“d”? 如果这个int说明符(%d)被float(%f)替换,那么它将输出作为“f”。
请解释此代码......
答案 0 :(得分:2)
"%d" + 1
与&"%d"[1]
相同,即指向字符串中第二个字符的指针。 printf
开始从那里解释字符串作为格式说明符,因此只与"d"
相同(并且简单地忽略第二个参数)。