3

%d を文字どおりに printf する方法

それはおそらく簡単な答えです。しかし、私は答えを見つけることができないようです。

私がしたいとしましょう:

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

putsまたはを使用しますfputs。これらは、フォーマットされていないテキストを出力するための選択肢です。

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

末尾の改行(私は良い考えだと思います)と一緒にそれを持っているか、

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

改行がないと主張する場合。

于 2013-02-04T20:49:53.373 に答える
3

%別のものでエスケープします%

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

%%文字通りのパーセントに使用できます。

于 2013-02-04T20:28:17.430 に答える
1

を2 倍に%して「エスケープ」します。

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