前回の質問
先ほどは、コメントが長くなりすぎてしまったので、演算子の優先度ということで、続きを!
#include<stdio.h> int main() { int c = 0; int b = 100; int z = 432; ++c || ++b && ++z; printf("c = %d, b = %d\n", c, b); // c = 1, b = 100; return 0; }
||についてなのですが、
if()の条件式の中でしか使ったことがないんですが・・・
#左側が0以外なら右側を評価しない理由を教えてください。
++c || (++b && ++z)
(++b && ++z) こちらが最初に実行されるのではないのですか??
++c && ++b && ++z → (++c && ++b) && ++z
こちらも、左側が0以外なら右は評価しないのでしょうか??
++c && ++b || ++z → (++c && ++b) || ++z
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/30 04:22
2017/04/30 04:23
2017/04/30 04:28
2017/04/30 04:30
2017/04/30 04:34
2017/04/30 04:38
2017/04/30 04:40
2017/04/30 04:43