你会发现在你的printf语句里面有一个 %%d 这个结构,这里就要说一下这个%%了,这个本身是没有特殊含义的,就是输出一个%,这个你记住就好,然后你看%%d是不是就变成了先输出一个%然后这个d就变成了一个单个字符了,就单独输出d,%本身是一个格式说明符前面使用%%将其转化为一个字符那后面的d,就缺少一个格式说明符,计算机就把他当个字符了,所以单独输出,要想输出%号的话你可以再加一个%或者写成 % %d