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

回答編集履歴

2

もうちょっと書く

2021/07/09 00:34

投稿

BeatStar
BeatStar

スコア4962

answer CHANGED
@@ -73,4 +73,6 @@
73
73
 
74
74
  具体的な数字や文字列等のデータを入れて考えてみる。
75
75
 
76
- そうするとロジック違反をしていれば気づくはずです。
76
+ そうするとロジック違反をしていれば気づくはずです。
77
+
78
+ つまり**デバッグぐらいはしましょう**です。

1

追記1

2021/07/09 00:34

投稿

BeatStar
BeatStar

スコア4962

answer CHANGED
@@ -23,4 +23,54 @@
23
23
 
24
24
  ですが、質問にあるコードのcal_en関数やcal_man関数は「戻り値を返していない」です。
25
25
 
26
- returnなんちゃらが戻り値です。
26
+ returnなんちゃらが戻り値です。
27
+
28
+ -----------
29
+
30
+ [追記1]
31
+
32
+ ご自分のコードを読んでください。
33
+
34
+ コードを読むときは、「**一行レベルで、この行が何をしているのかを考えながら読む**」です。
35
+
36
+ main関数だけに着目したら、
37
+
38
+ ```ここに言語を入力
39
+ int main(void)
40
+ {
41
+   // 変数宣言
42
+ int i, man, en, amount = 0;
43
+
44
+   // 3回繰り返す
45
+ for (i = 0; i < 3; i++)
46
+ {
47
+     // display_saving関数を呼び出す
48
+ display_saving(amount);
49
+ }
50
+   // 戻り値を0として返す
51
+ return 0;
52
+ }
53
+ ```
54
+
55
+ 的な感じで。
56
+
57
+ これを現実世界で手作業でやってみる。(display***を3回繰り返すとかそういうのを)
58
+ 脳内でもいいです。
59
+
60
+ 関数を呼び出している所はその関数内にも潜り込む。
61
+
62
+ C言語の場合はmain関数から始まります。
63
+
64
+ なので main関数 -> main関数内で呼ばれた関数 -> その関数から呼ばれた関数 ...
65
+
66
+ のように潜っていきます。
67
+
68
+ そしてその処理を追う。
69
+
70
+ 変数とかが使われているのならその値を考えながら読む。
71
+
72
+ i = 0 のときどうなるか。i = 1 のときどうなるか。i = 2 のとき... とかみたいに。
73
+
74
+ 具体的な数字や文字列等のデータを入れて考えてみる。
75
+
76
+ そうするとロジック違反をしていれば気づくはずです。