• ベストアンサー

int i,j; \n i=0,j=5;

int i,j; i=0; j=5: と書いてあるソースは普通ですが、 int i,j; i=0,j=5: と書いてあるソースもあります。 後者はC++の正しい書式ですか? カンマ演算子というのは後者のカンマのことですか?

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

  • ベストアンサー
  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.2

 正しい書式です。 i=0,j=5;  における、「,」をカンマ演算子といいます。2項の演算子です。カンマで区切られた演算を「左から順番に」実行し、最後の演算を結果として返します。  したがって、例の文であれば、i=0を実行し、次にj=5を実行。そして、j=5の結果の5を結果として返します。  ・・・  が、本来的には、あまり、例のような使い方はしませんね。よく見られるのは、次のような場合です。  for (i=0,j=0 ; i < 50 ; ++i,++j) {  のような形でよく見られます。for文の各式は、一つの式でなければならないので、こんな書き方をするわけです。初期化と更新部が一つにまとまり、ループが読みやすくなるのが利点かな。

すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#26283
noname#26283
回答No.1

 正しい書式のようですよ.  以下のサイトで,順次演算子(カンマ演算子)の説明をご覧下さい. http://www.sist.ac.jp/~suganuma/cpp/2-bu/4-sho/4-sho.htm http://www.komonet.ne.jp/~c/chap13.htm  ただ,質問文内のソースの行末がコロンになっているところはセミコロンに修正しましょう.

すると、全ての回答が全文表示されます。

関連するQ&A