如何从字面上打印f%d

时间:2013-02-04 20:27:08

标签: c printf

如何按字面意思打印f%d

这可能是一个简单的答案。但我似乎无法找到答案。

假设我想:

printf( "printf(\"%d\", x );" );

我希望输出字面上是:printf( "%d", x );

有办法吗?如果我只是输入我上面写的代码,一个数字会被放入%d,但我不希望放在那里。我只想要文字%d。

5 个答案:

答案 0 :(得分:5)

那么为什么我们不在这里进行一些真正安全的编程实践?

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

答案 1 :(得分:3)

使用其他%

逃离%
printf( "printf(\"%%d\", x );" );

答案 2 :(得分:3)

您可以将%%用于文字百分比。

答案 3 :(得分:3)

使用putsfputs,这些是输出未格式化文字的选择

puts( "printf(\"%d\", x );");

将它与尾随换行符(我发现一个好主意)或

一起使用
fputs( "printf(\"%d\", x );", stdout);

如果你坚持不换行。

答案 4 :(得分:1)

加倍%以“逃避”它:

printf( "printf(\"%%d\", x );" );
                   ^--