代码之家  ›  专栏  ›  技术社区  ›  fmsf

正在将“%d”写入printf c

  •  2
  • fmsf  · 技术社区  · 15 年前

    此代码的正确语法是什么: 它是:

    printf("printf(\"\%d\",%s);", some_var);
    

    printf("printf(\"%%d\",%s);", some_var);
    

    或者别的什么?

    2 回复  |  直到 15 年前
        1
  •  5
  •   Ben Voigt    15 年前

    第二个。 %d 是由printf定义的,而不是C语言,因此需要用printf对其进行转义 %% 不是字符转义。

    更复杂的字符转义序列示例:

    printf("printf(\"%%d\\n\",%s);\n", some_var);
    
        2
  •  3
  •   Jacob Relkin    15 年前

    第二个。为了打印文字 % 你需要通过附加另一个来逃避它们 % .