解决问题背后的原因

Har*_*sad 1 c formatting printf

以下是什么输出以及这背后的原因是什么?

main()
{
    printf("%%%%");
}
Run Code Online (Sandbox Code Playgroud)

答案是"%%",但我不知道为什么.

GMa*_*ckG 8

%是格式说明符的开头.(例如,"%d"表示"打印int".)%格式说明符转义后,打印单个"%".

也就是说,以相同的方式"\\"产生单个反斜杠,"%%"导致单个百分号.