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

回答編集履歴

2

追加

2020/10/02 09:36

投稿

amiya
amiya

スコア1218

answer CHANGED
@@ -14,4 +14,12 @@
14
14
 
15
15
  Java等の今どきの言語では、全てのパスにreturnが無いとエラーになりますが、
16
16
  C言語はそこまで面倒を見てくれないので、returnが無いと、滅茶苦茶な値を返してしまいます。
17
- (レジスタに残ってるゴミデータが返ってくる)
17
+ (レジスタに残ってるゴミデータが返ってくる)
18
+
19
+ ---
20
+ ちなみに、こう書いた場合は、最後にreturnが無くとも問題ありません。
21
+ Aか、Aでないか、以外のルートは存在しないからです。
22
+ ```C
23
+ if(x==A) return 1;
24
+ else return 2;
25
+ ```

1

修正

2020/10/02 09:36

投稿

amiya
amiya

スコア1218

answer CHANGED
@@ -8,7 +8,7 @@
8
8
  if(x==B) return 2;
9
9
  else if(x==C) return 3;
10
10
  ```
11
- 等と書いた場合、Dが来ると、どこにも引っかからずに関数の最後まで到達しますが、
11
+ 等と書いた場合、AでもBでもCでもないDが来ると、どこにも引っかからずに関数の最後まで到達しますが、
12
12
  そこには、return文は無いので、予期せぬ結果とreturnしてしまう可能性がある事を
13
13
  示している警告です。
14
14