回答編集履歴

1

文言の修正

2022/09/30 02:04

投稿

ALOHAMS
ALOHAMS

スコア195

test CHANGED
@@ -1,5 +1,8 @@
1
- デバッグは開始されています。
2
- 数値だけ入力しただけでは最初のfor文を抜け出すことができません。
3
- 数値をいくつか入力した後に適当に数値以外の文字入れれば計算結果出力されます。
1
+ デバッグの仕方知りたというよりプログラム実行させて計算結果出力したい感じなので以下のように回答します。
4
2
 
3
+ プログラムは正常に動いています。
4
+ 数値のみを入力しただけでは最初のfor文から抜け出せないためprintfまで処理が進まないのでコンソールは真っ黒のままです。
5
+ **数値をいくつか入力した後に、適当に数値以外の文字を入れれば計算結果が出力されます。**(aとかbとか)
6
+
5
- for文を回す条件がscanf_sの戻り値が1の時であり、scanf_sの変換指定子が%d(10進数の整数)であるので、数値以外の文字を入れることで、scanf_sの戻り値(変換できたフィールド数)が0になり、forループの条件から外れるというわけですね。
7
+ 質問者様のコードですと、for文を回す条件がscanf_sの戻り値が1の時であり、scanf_sの変換指定子が%d(10進数の整数)であるので、数値以外の文字を入れることで、scanf_sの戻り値(変換できたフィールド数)が0になり、forループの条件から外れるというわけですね。
8
+