【问题标题】:writing "%d" in a printf C在 printf C 中写“%d”
【发布时间】:2010-06-15 02:42:46
【问题描述】:

这段代码的正确语法是什么: 是吗:

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

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

还是别的什么?

【问题讨论】:

    标签: c syntax


    【解决方案1】:

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

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

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

    【讨论】:

    • 大声笑你会得到正确答案,因为你记得我我忘记在我的 printf 末尾放一个 \n :P
    【解决方案2】:

    第二个。为了打印文字 %,您需要通过附加另一个 % 来转义它们。

    【讨论】:

      猜你喜欢
      • 2017-05-17
      • 2014-09-26
      • 2011-01-17
      • 2013-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-09
      相关资源
      最近更新 更多