解释c程序的输出

时间:2013-10-12 14:22:27

标签: c printf

#include<stdio.h>

int main()
{
  int a=3;

  printf("%d"+1,a);
  return 0;
}

为什么此程序的输出是“d”? 如果这个int说明符(%d)被float(%f)替换,那么它将输出作为“f”

请解释此代码......

1 个答案:

答案 0 :(得分:2)

"%d" + 1&"%d"[1]相同,即指向字符串中第二个字符的指针。 printf开始从那里解释字符串作为格式说明符,因此只与"d"相同(并且简单地忽略第二个参数)。