回答編集履歴
2
fix
test
CHANGED
@@ -107,3 +107,17 @@
|
|
107
107
|
}
|
108
108
|
|
109
109
|
```
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
勘違いされたのは、おそらく変数が数字だから `%d` を使うべきと思われた部分かと思います。scanf や sscanf、fscanf といった関数は、`%d` が与えられると入力から数字のみを読み取り、それ以外がくると入力を中断し、それを数値に変換して引数で与えられたアドレスにコピーします。
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
ですので `文字` を入力して貰うには `%d` でなく `%c` でなければなりません。
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
であれば `getchar()` でいいじゃんと思うかもしれませんが、getchar() は行入力でないため、1文字入力してバックスペースで直すといった事が出来なくなります。
|
122
|
+
|
123
|
+
|
1
fix
test
CHANGED
@@ -74,7 +74,7 @@
|
|
74
74
|
|
75
75
|
|
76
76
|
|
77
|
-
getchar(); /* 改行文字
|
77
|
+
getchar(); /* 改行文字を抜き取っておく */
|
78
78
|
|
79
79
|
|
80
80
|
|