回答編集履歴
2
すみません。正しくない回答をしてしまいましたので削除しました。
test
CHANGED
@@ -1,73 +1 @@
|
|
1
|
-
|
1
|
+
すみません。正しくない回答をしてしまいましたので削除しました。
|
2
|
-
|
3
|
-
```ここに言語を入力
|
4
|
-
|
5
|
-
printf( "input > ");
|
6
|
-
|
7
|
-
while ( 1 )
|
8
|
-
|
9
|
-
{
|
10
|
-
|
11
|
-
char result = (char)getchar();
|
12
|
-
|
13
|
-
printf( "%c\n", result );
|
14
|
-
|
15
|
-
}
|
16
|
-
|
17
|
-
```
|
18
|
-
|
19
|
-
以下のように (1) で 式 を入力してリターンキーを押すと(2)が出力されます。
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
```ここに言語を入力
|
24
|
-
|
25
|
-
input > 1 2 + 3 4 - * ------- (1)
|
26
|
-
|
27
|
-
1 --------------------------- (2)
|
28
|
-
|
29
|
-
--------------------------- (2) ← スペース
|
30
|
-
|
31
|
-
2 --------------------------- (2)
|
32
|
-
|
33
|
-
--------------------------- (2) ← スペース
|
34
|
-
|
35
|
-
3 --------------------------- (2)
|
36
|
-
|
37
|
-
--------------------------- (2) ← スペース
|
38
|
-
|
39
|
-
4 --------------------------- (2)
|
40
|
-
|
41
|
-
--------------------------- (2) ← スペース
|
42
|
-
|
43
|
-
- --------------------------- (2)
|
44
|
-
|
45
|
-
--------------------------- (2) ← スペース
|
46
|
-
|
47
|
-
* --------------------------- (2)
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
```
|
52
|
-
|
53
|
-
result の内容でスペースを判定すれば、
|
54
|
-
|
55
|
-
「式の途中で空白が入ってくるので行が終わりということを検知」
|
56
|
-
|
57
|
-
という方法が取れるかなと思い回答しました。
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
これで問題が解決できそうでしたら、
|
62
|
-
|
63
|
-
以下のように、scanf を使用していた元のコードで取得文字を配列に格納後、
|
64
|
-
|
65
|
-
空白を探すコードを作成してみてはいかがでしょうか?
|
66
|
-
|
67
|
-
```ここに言語を入力
|
68
|
-
|
69
|
-
char input[256];
|
70
|
-
|
71
|
-
scanf_s( "%s", input, 256 );
|
72
|
-
|
73
|
-
```
|
1
説明の途中でアップしてしまいました。修正/追記を入れました。
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
キーボード入力を
|
1
|
+
キーボード入力を受け取る仕組みを理解するためのコードを考えてみました。
|
2
2
|
|
3
3
|
```ここに言語を入力
|
4
4
|
|
@@ -55,3 +55,19 @@
|
|
55
55
|
「式の途中で空白が入ってくるので行が終わりということを検知」
|
56
56
|
|
57
57
|
という方法が取れるかなと思い回答しました。
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
これで問題が解決できそうでしたら、
|
62
|
+
|
63
|
+
以下のように、scanf を使用していた元のコードで取得文字を配列に格納後、
|
64
|
+
|
65
|
+
空白を探すコードを作成してみてはいかがでしょうか?
|
66
|
+
|
67
|
+
```ここに言語を入力
|
68
|
+
|
69
|
+
char input[256];
|
70
|
+
|
71
|
+
scanf_s( "%s", input, 256 );
|
72
|
+
|
73
|
+
```
|