回答編集履歴

2

全体動作再確認、追求

2021/04/14 06:05

投稿

ttb
ttb

スコア74

test CHANGED
@@ -1,27 +1,21 @@
1
- すみませんstring型なのを見落としてました。
1
+ 再度確認してました。
2
-
3
- ==演算子で、""の文字列と比較できるようですね。
4
-
5
- 回答削除できないようですので、以下忘れてください・・・。
6
2
 
7
3
 
8
4
 
9
- ------
5
+ 質問主さんのコードは、動きとしては、
10
6
 
7
+ 数字→y→数字→y→…→数字→y以外→終了 (想定した動き)
11
8
 
9
+ 数字以外→0を吐いて終了 (想定しない動き)
12
10
 
13
- すみません、実機で動作確認していませんが、コードみた感じyを文字列とて扱っていないでしょうか?
11
+ 数字→y→数字以外→0無限ループ (想定しない動き)
14
12
 
13
+ となりました。
15
14
 
15
+ ということで、上記を念頭に置いて、別途試したところ、
16
16
 
17
- "y"は、文字列な y の次に ¥0 が入ったconst char型配列への先頭ポインタ(10進数で 1バイト目 121 の次の1バイトに 0 が格納された領域へのポインタ)
17
+ int の変数に対して、文字や文字を与えるとおかしくるようす。
18
18
 
19
- 'y'は1文字なのその10進数で書くと 121
19
+ (それ以降cinが入力待ちらなくなり変数には強制的に0が入る。)
20
20
 
21
- になるかと思います。
22
-
23
-
24
-
25
- str == 'y'
26
-
27
- するとうまくないょうか?
21
+ (また、適切改行されていないためEnter押しても改ない事があり勘違いの元なのかもれません。)

1

コード読みミスのお詫び

2021/04/14 06:05

投稿

ttb
ttb

スコア74

test CHANGED
@@ -1,3 +1,15 @@
1
+ すみません、string型なのを見落としていました。
2
+
3
+ ==演算子で、""の文字列と比較できるようですね。
4
+
5
+ 回答削除できないようですので、以下忘れてください・・・。
6
+
7
+
8
+
9
+ ------
10
+
11
+
12
+
1
13
  すみません、実機で動作確認していませんが、コードみた感じyを文字列として扱っていないでしょうか?
2
14
 
3
15