• ベストアンサー

インクリメントについて

インクリメントについて C言語のプログラム中に(1)の文(前置演算子)が存在するのですが、(2)の文(後置演算子)に置き換えても構いませんか? if(a) ++a; ・・・(1) if(a) a++; ・・・(2) 教授下さい。 よろしくお願い致します。

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

  • ベストアンサー
  • mi65536
  • ベストアンサー率100% (6/6)
回答No.3

置き換えて問題ありませんが一言注意。 C++言語で、aがオブジェクトの場合、 ++a と a++ では、++aの方が高速に動作する場合がほとんどです。 従って、どちらでも書ける場合は、++aとしておく方が、 高速に動作する場合があります。 以上。余談でした。

その他の回答 (2)

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.2

aがint系の型を持っているのであれば、 (1)も(2)も同じでしょう。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

(C++)ではなくCであれば、特に問題はないと思います。 ただ、技術的な妥当性以外のところで問題が出る可能性はあります。 例えば、変なコーディング規約とか、動作している既存コードを改変するな! というお達しがあるとか... それはそうと、この場合は前置形式のほうがよいとは思います。

関連するQ&A