2017-08-29 8 views
0

書式を指定せずにprintfに変数を使用することは正当なものです(%d、%fなど)。例えば :私はそれが法的または危険である場合には絶対にわからないけれどもprintf:書式設定なしの変数の指定

printf("value is ok\r\n",myvalue); 

コマンドは、エラーや警告なしにコンパイルします。このreference

答えて

1

は書式指定子で指定された値の数としてこれらの引数の少なくとも同数がなければならないと言います。追加の引数は関数によって無視されます。

この情報を基にして、あなたのステートメントは完全に合法ですが、コードがすぐに混乱してバグにつながる可能性があるので、これは良い考えではないと思います。


編集:オリジナルのソースを明示的にゼロ引数の場合には言及していません。別のソースを追加するには、

フォーマット文字列はゼロ個以上のディレクティブで構成されています。

この情報源は、追加の引数で何が起こるかは説明しません。しかし、これらの2つの情報源を組み合わせることで決定的な答えが得られます。

関連する問題