質問編集履歴

4

修正

2017/04/30 02:14

投稿

strike1217
strike1217

スコア651

test CHANGED
File without changes
test CHANGED
@@ -46,11 +46,11 @@
46
46
 
47
47
  [追記]
48
48
 
49
- ```C++
49
+
50
50
 
51
51
  ++x || ++y && ++z;
52
52
 
53
- ```
53
+
54
54
 
55
55
  ++x が評価され、残りは無視されると思いますが、
56
56
 

3

追記

2017/04/30 02:14

投稿

strike1217
strike1217

スコア651

test CHANGED
File without changes
test CHANGED
@@ -46,7 +46,7 @@
46
46
 
47
47
  [追記]
48
48
 
49
- ```
49
+ ```C++
50
50
 
51
51
  ++x || ++y && ++z;
52
52
 

2

追記

2017/04/30 02:14

投稿

strike1217
strike1217

スコア651

test CHANGED
File without changes
test CHANGED
@@ -41,3 +41,23 @@
41
41
 
42
42
 
43
43
  下のプログラムの例がなんでそうなるのか分かりません。
44
+
45
+
46
+
47
+ [追記]
48
+
49
+ ```
50
+
51
+ ++x || ++y && ++z;
52
+
53
+ ```
54
+
55
+ ++x が評価され、残りは無視されると思いますが、
56
+
57
+ **一番最初の評価対象**が、なぜ```++x```になっているのでしょうか??
58
+
59
+ これは、結合規則は、右からですよね?
60
+
61
+
62
+
63
+ こちらは、どうなっているのでしょうか??

1

修正

2017/04/30 01:43

投稿

strike1217
strike1217

スコア651

test CHANGED
File without changes
test CHANGED
@@ -4,9 +4,9 @@
4
4
 
5
5
 
6
6
 
7
- a = b++; // b = b + 1; a = b;
7
+ a = ++b; // b = b + 1; a = b;
8
8
 
9
- c = ++b; // c = b; b = b + 1;
9
+ c = b++; // c = b; b = b + 1;
10
10
 
11
11
  ```
12
12
 
@@ -18,7 +18,7 @@
18
18
 
19
19
  ```
20
20
 
21
- a = b++;
21
+ a = ++b;
22
22
 
23
23
  b = b + 1; a = b;
24
24
 
@@ -30,7 +30,7 @@
30
30
 
31
31
  ```
32
32
 
33
- c = ++b;
33
+ c = b++;
34
34
 
35
35
  c = b; b = b + 1;
36
36