回答編集履歴

2

追記

2017/06/29 01:24

投稿

mattn
mattn

スコア5030

test CHANGED
@@ -31,3 +31,21 @@
31
31
 
32
32
 
33
33
  の様にサイズ指定されると良いかと思います。
34
+
35
+
36
+
37
+ 追記
38
+
39
+
40
+
41
+ 警告を消すには `scanf_s` を使って下さい。
42
+
43
+
44
+
45
+ ```c
46
+
47
+ scanf_s("%s", &number_inp, 3);
48
+
49
+ ```
50
+
51
+

1

追記

2017/06/29 01:24

投稿

mattn
mattn

スコア5030

test CHANGED
@@ -1,4 +1,4 @@
1
- scanf している箇所は4文字のバッファを指定しています。ですので `123456` といった文字を入力するとバッファを超えて格納されます。
1
+ scanf している箇所は4バイトのバッファを指定しています。ですので `123456` といった文字を入力するとバッファを超えて格納されます。おそらく NUL 分入れて5バイト必要ですね。
2
2
 
3
3
  scanf が良く無い API とされている理由がこれです。
4
4
 
@@ -24,7 +24,7 @@
24
24
 
25
25
  ```c
26
26
 
27
- scanf("%4s", number_inp);
27
+ scanf("%3s", number_inp);
28
28
 
29
29
  ```
30
30