0

重複の可能性:
C の printf で % (パーセント) 記号をエスケープする方法

%記号を次のように出力したい: "8%2F16"

この文字列を印刷するにはどうすればよいですか?

4

3 に答える 3

4

を使用して印刷しようとしている場合は、次printfを使用する必要があります。%%%%

printf("8%%2F16");

%はフォーマット文字列で特別な意味を持つエスケープ文字であるprintfため、印刷しようとする場合はそれ自体をエスケープする必要があります。

于 2012-08-17T17:56:49.613 に答える
3

を使用する以外%%に、次を使用することもできます%c

printf("8%c2F16\n", '%');

%c文字列内の文字を適切にエスケープする方法を思い出せない場合のトリックは、優れたフォールバックです。(ただし、頭のてっぺんから、トリッキーなのは"とだけ%です。)

于 2012-08-17T18:06:50.763 に答える
2

次のように、適切なエスケープ シーケンスを使用します。printf("%%");

(またはもちろん と同じputs("%");ですが、フォーマットされた出力について話していると思います。)

于 2012-08-17T17:58:12.787 に答える