私は以下のコードを持っていて、何が出力可能なのか知りたいと思っていました。このコードを処理することは& &として与えられたCコードが異なるコンパイラによって解釈される方法
m = ++i || (++j && ++k);
が高い優先順位をオーバーしたとして、これexpresionを見ることができる
を言うルールで行くコンパイラだろうが今の質問は
int main() { int i = -1, j = 2, k = 0, m; m = ++i || ++j && ++k; printf("\n %d %d %d %d \n", i, j, k, m); return 0; }
| |その結果は、0 2 0 1
または
このexpresionは
m = ++i || (++j && ++k);
が、コンパイラは、まだショートにしようとすると見ることができるだろう。それは1ですので、それは(++ J & & ++ K)、++私を評価> evaluated.soはANSではありません優先するので、原因のような式
++i || ++j && ++k
意志グループ0 3 1 1
スペックを読んで(より良い)見つけたり、コードを実行して(より速く)見つけることができます。ここでこの質問をする目的は何ですか? – Jon
私はこの回路ルールについて知りたがっています。 –
@Jonあなたはこの投稿を読んだのですか? –