Cのprintfの「f」の意味は何ですか?
質問する
3920 次
4 に答える
24
f
inprintf
はformattedを表し、フォーマットされた出力で印刷するために使用されます。
于 2012-05-25T21:43:27.253 に答える
3
他の人が指摘しているように、末尾 f
はフォーマットされた出力(またはscanf
ファミリ内の関数のフォーマットされた入力)を示します。
ただし、文字列がフォーマット指定子のセマンティクスを持つことが期待されていることを呼び出し元が知っていることが重要であるため、区別が重要であることを付け加えておきます。たとえば、これを行わないでください。
char* s = get_some_user_input();
printf(s); // WRONG. Instead use: printf("%s", s) or fputs(stdout, s)
s
たまたま文字が含まれている場合%
、それを直接印刷するとprintf
、存在しない引数にアクセスし、未定義の動作につながる可能性があります(これは一部のセキュリティ脆弱性の原因です)。printf
独自の可変個引数関数を定義する場合は、この命名規則に注意してください。
于 2012-05-25T23:59:08.033 に答える
0
私が間違っていなければ、printf は「フォーマットされたデータを stdout に出力する」の略です。
于 2012-05-25T21:44:28.690 に答える
0
printf は書式設定を許可しますが、print は許可しません。また、print は C には存在しません。printg が何であるかさえ知りません。
于 2012-05-25T21:43:35.287 に答える