タグ付けされた質問 「comma-operator」

9
コンマオペレーターの仕組み
C ++ではカンマ演算子はどのように機能しますか? たとえば、私が行う場合: a = b, c; 最終的にbまたはcに等しくなりますか? (はい、これは簡単にテストできることを知っています-誰かがすぐに答えを見つけるためにここに文書化するだけです。) 更新: この質問は、コンマ演算子を使用するときにニュアンスを明らかにしました。これを文書化するだけです: a = b, c; // a is set to the value of b! a = (b, c); // a is set to the value of c! この質問は、実際にはコードのタイプミスに触発されました。意図されていたもの a = b; c = d; になって a = b, // <- …

7
i =(i、++ i、1)+ 1;とは 行う?
未定義の動作とシーケンスポイントに関するこの回答を読んだ後、小さなプログラムを書きました。 #include <stdio.h> int main(void) { int i = 5; i = (i, ++i, 1) + 1; printf("%d\n", i); return 0; } 出力は2です。ああ、私は減少が来るのを見ませんでした!ここで何が起きてるの? また、上記のコードをコンパイルしているときに、次の警告が表示されました。 px.c:5:8:警告:コンマ式の左側のオペランドは効果がありません [-Wunused-value] i = (i, ++i, 1) + 1; ^ どうして?しかし、おそらくそれは私の最初の質問の答えによって自動的に答えられます。



5
JavaScript式でコンマは何をしますか?
私が使用する場合: 1.09 * 1; // returns "1.09" しかし、私が使用する場合: 1,09 * 1; // returns "9" 1,09は数字ではないことを私は知っています。 コードの最後の部分でコンマは何をしますか? その他の例 if (0,9) alert("ok"); // alert if (9,0) alert("ok"); // don't alert alert(1); alert(2); alert(3); // 3 alerts alert(1), alert(2), alert(3); // 3 alerts too alert("2", foo = function (param) { alert(param) }, foo('1') …


4
C ++でのコンマ演算子の動作が異なりますか?
これ(コンマ演算子に注意してください): #include <iostream> int main() { int x; x = 2, 3; std::cout << x << "\n"; return 0; } 出力2。 ただし、returnコンマ演算子とともに使用する場合は、次のようになります。 #include <iostream> int f() { return 2, 3; } int main() { int x; x = f(); std::cout << x << "\n"; return 0; } 出力3。 コンマ演算子の動作が異なるのはなぜreturnですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.