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