这是对的,printf()的第一个参数不是格式控制符吗,比如int a=1; printf(" %d ",a);其中%d就表示整型,所以printf("%"); 就会有警告。如果是printf("\%");也不行。只有printf("%%");就表示输出%。比如printf("%%d");的输出就是%d.