• ベストアンサー

sprintfに同じ変数は使えるか

int sprintf( char *buffer, const char *format [, argument] ... ); 第1引数と第3引数以降に同じ変数を使えますか? memcpy()のように、同じ変数を使えない場合があるのか知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • khurata
  • ベストアンサー率40% (54/134)
回答No.1

 ANSI準拠では、sprintfにおいてオブジェクトが重複した場合の動作は未定義である、という事になっているようです(新 ANSI C言語辞典 初版第 8刷より)。  ですので、処理系によって使えたり使えなかったり、使えたとしてもバグの原因となったりする事が考えられます。  使わない方が良いでしょう。

関連するQ&A