由于单个的%有别的用处,所以要输出单个%时必须双写成%%,显然上例中%%d就只输出%d了;按C/C++“贪心法”%%d被解释成(%%)d而不会解释成%(%d)。如果想达到输出“%d”的效果,得写成%%%d才可以,这就被解释成(%%)%d了,最后输出就是%X形式。如:
#include "stdio.h"
int main(int argv,char *argc[]){
int a=24;
printf("a = %%%d\n",a);
return 0;
}
输出样例:
%符号会将它后面的一个字符转义,比如%d就代表数字,%s代表字符串,而%%就代表%字符
第一个%是转义符号,第二个%是告诉printf函数要输出%