如何用printf打印"%"字符?

nit*_*mar 3 c c++

的输出

printf("%%%%%%%%");
Run Code Online (Sandbox Code Playgroud)

%%%%
Run Code Online (Sandbox Code Playgroud)

我打印了%8次,为什么输出只有4 %

Luc*_*ore 13

因为%是一个格式说明符转义序列(如%d将打印一样int).

要让程序打印实际符号,请编写%%.同样如此\.(虽然根本不同,你仍然需要两个打印一个)

  • \是内置于语言中的,''\\'`是一个字符.`%`特定于格式化的IO函数 - `"%%"`是两个字符. (4认同)
  • @LuchianGrigore是的,你需要\\打印\,但原因根本不同.我认为这句话没有进一步解释*可能会产生误导. (2认同)