回答編集履歴

2

回答に追記

2018/09/26 07:00

投稿

y_waiwai
y_waiwai

スコア87749

test CHANGED
@@ -15,3 +15,47 @@
15
15
 
16
16
 
17
17
  ああ、これはこれでいいのか。結果を返してるのね
18
+
19
+
20
+
21
+ ---
22
+
23
+ これだけではなんなんで
24
+
25
+
26
+
27
+ make4digits 関数
28
+
29
+
30
+
31
+ > srand(time(NULL));
32
+
33
+
34
+
35
+ は、乱数生成ごとに呼ぶんじゃなくて、main関数の最初にだけ呼ぶほうがよろしい
36
+
37
+
38
+
39
+ > for(j=0;j<i;j++)
40
+
41
+ if(val==x[j]-'0') break;
42
+
43
+
44
+
45
+ 最初にこれが実行されるとき、x には何が入ってるのか考えてみよう。
46
+
47
+
48
+
49
+ で、そもそもこのxを文字列として扱うなら、その後尾に'\0'文字を入れないとダメです
50
+
51
+ そうすると、このバッファは5文字分の領域が必要です
52
+
53
+ ってことで、
54
+
55
+ main関数内
56
+
57
+ > char no[4];
58
+
59
+
60
+
61
+ これではダメというはなしに。

1

回答を修正

2018/09/26 07:00

投稿

y_waiwai
y_waiwai

スコア87749

test CHANGED
@@ -11,3 +11,7 @@
11
11
 
12
12
 
13
13
  なんで *hit と *blow に0を代入してるんでしょうか。
14
+
15
+
16
+
17
+ ああ、これはこれでいいのか。結果を返してるのね