3

如何从字面上打印f %d

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

假设我想:

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

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

有没有办法做到这一点?如果我只是输入我上面写的代码,一个数字会被放入 %d,但我不想在其中放置任何东西。我只想要文字 %d。

4

5 回答 5

5

那么我们为什么不在这里练习一些真正安全的编程练习呢?

printf("%s", "printf(\"%d\", x );" );
于 2013-02-04T20:46:11.250 回答
3

%与另一个逃脱%

printf( "printf(\"%%d\", x );" );
于 2013-02-04T20:28:05.013 回答
3

您可以使用%%文字百分比。

于 2013-02-04T20:28:17.430 回答
3

使用putsor fputs,这些是输出无格式文本的选择

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

将它与尾随换行符(我觉得这是个好主意)或

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

如果您坚持没有换行符。

于 2013-02-04T20:49:53.373 回答
1

加倍%以“逃脱”它:

printf( "printf(\"%%d\", x );" );
                   ^--
于 2013-02-04T20:28:14.873 回答