teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

8

冗長部分削除

2020/08/28 21:03

投稿

shiracamus
shiracamus

スコア5406

answer CHANGED
@@ -1,3 +1,3 @@
1
1
  `{}` は `;` と等価です。
2
2
  `if (条件) {文_1;}; else 文_2;` は `if (条件) 文_1;; else 文_2;` と等価です。`;`が2つあることになり、2つめでif文が終了したことになります。
3
- `if (0) {printf("1\n");}printf("2\n");` を実行すると、if文が終了した部分の `2` だけが出力されます。
3
+ `if (0) {printf("1\n");}printf("2\n");` を実行すると、if文が終了した部分の `2` が出力されます。

7

用語統一

2020/08/28 21:03

投稿

shiracamus
shiracamus

スコア5406

answer CHANGED
@@ -1,3 +1,3 @@
1
1
  `{}` は `;` と等価です。
2
- `if (条件) {文_1;}; else 文_2;` は `if (条件) 文_1;; else 文_2;` と等価です。`;`が2つあることになり、2つめでif文が終了したことになります。
2
+ `if (条件) {文_1;}; else 文_2;` は `if (条件) 文_1;; else 文_2;` と等価です。`;`が2つあることになり、2つめでif文が終了したことになります。
3
3
  `if (0) {printf("1\n");}printf("2\n");` を実行すると、if文が終了した部分の `2` だけが出力されます。

6

説明補足

2020/08/28 20:59

投稿

shiracamus
shiracamus

スコア5406

answer CHANGED
@@ -1,3 +1,3 @@
1
1
  `{}` は `;` と等価です。
2
- `if (条件式) 文_1;; else 文_2;` と書いたのと同じです。`;`が2つあることになり、2つめでif文が終了したことになります。
2
+ `if (条件) {文_1;}; else 文_2;` は `if (条件式) 文_1;; else 文_2;` と等価です。`;`が2つあることになり、2つめでif文が終了したことになります。
3
3
  `if (0) {printf("1\n");}printf("2\n");` を実行すると、if文が終了した部分の `2` だけが出力されます。

5

説明変更

2020/08/28 20:59

投稿

shiracamus
shiracamus

スコア5406

answer CHANGED
@@ -1,3 +1,3 @@
1
1
  `{}` は `;` と等価です。
2
- `if (条件式) 文_1;; else 文_2;` と書いたのと同じです。1つ目の `;` または `{}` if文が終了したことになります。
2
+ `if (条件式) 文_1;; else 文_2;` と書いたのと同じです。`;`が2つあることになり、2つめでif文が終了したことになります。
3
- `if (0) {printf("1\n");}printf("2\n");` を実行すると、if文から抜けた部分の `2` だけが出力されます。
3
+ `if (0) {printf("1\n");}printf("2\n");` を実行すると、if文が終了した部分の `2` だけが出力されます。

4

説明追記

2020/08/28 20:56

投稿

shiracamus
shiracamus

スコア5406

answer CHANGED
@@ -1,3 +1,3 @@
1
1
  `{}` は `;` と等価です。
2
- `if (条件式) 文_1;; else 文_2;` と書いたのと同じです。1つ目の `;` で if文が終了したことになります。
2
+ `if (条件式) 文_1;; else 文_2;` と書いたのと同じです。1つ目の `;` または `{}` で if文が終了したことになります。
3
3
  `if (0) {printf("1\n");}printf("2\n");` を実行すると、if文から抜けた部分の `2` だけが出力されます。

3

誤記訂正

2020/08/28 20:52

投稿

shiracamus
shiracamus

スコア5406

answer CHANGED
@@ -1,3 +1,3 @@
1
1
  `{}` は `;` と等価です。
2
- `if (条件式) 文_1;; else 文_2;` と書いたのと同じです。2つ目の `;` で if文が終了したことになります。
2
+ `if (条件式) 文_1;; else 文_2;` と書いたのと同じです。1つ目の `;` で if文が終了したことになります。
3
3
  `if (0) {printf("1\n");}printf("2\n");` を実行すると、if文から抜けた部分の `2` だけが出力されます。

2

プログラム例変更

2020/08/28 20:51

投稿

shiracamus
shiracamus

スコア5406

answer CHANGED
@@ -1,4 +1,3 @@
1
1
  `{}` は `;` と等価です。
2
2
  `if (条件式) 文_1;; else 文_2;` と書いたのと同じです。2つ目の `;` で if文が終了したことになります。
3
-
4
- `if (0) printf("1\n"); printf("2\n");` を実行すると、if文から抜けた部分の `2` だけが出力されます。
3
+ `if (0) {printf("1\n");}printf("2\n");` を実行すると、if文から抜けた部分の `2` だけが出力されます。

1

復号文の意味を勘違いしていたので訂正

2020/08/28 20:50

投稿

shiracamus
shiracamus

スコア5406

answer CHANGED
@@ -1,11 +1,3 @@
1
- > 複合文は一つの文として扱われると習いましたが、
2
-
3
- それが間違いだと思います。
4
- ブロックは1つの文として扱われます。
5
-
6
- if文の実行部には文またはブロックを一つしか書けません。
7
- 複数の文を書きたいときにブロックを使います。
8
-
9
1
  `{}` は `;` と等価です。
10
2
  `if (条件式) 文_1;; else 文_2;` と書いたのと同じです。2つ目の `;` で if文が終了したことになります。
11
3