プロが教える店舗&オフィスのセキュリティ対策術

以下のプログラムのURLで、
https://oshiete.goo.ne.jp/qa/13531880.html
inpCountが0が真の場合は、カウント0回ということになるのですが、どうなるのでしょうか?教えていただけると嬉しいです。whileループの所です。教えていただけると嬉しいです。

A 回答 (4件)

プログラムに限らず、数学的に0で割るという計算はできません。


C言語系をつかったことがないので、どのような処理をするかはわかりませんが、一般的な場合は
(float)inpTotal/(float)inpCount
でエラーになります。
これは、inpTotal=0の場合でも同く、0/0はエラーとなります。
    • good
    • 0
この回答へのお礼

では、どうやって5個読み込んでいるのでしょうか?0〜4までが真になっているのですが、教えていただけると嬉しいのです。

お礼日時:2023/07/20 16:30

No.1です。

何か勘違いの回答をしていたようです。
カウント0回ではどのような動作をするのか?
と、解釈していました。
>whileループの所です。
順を追って説明すると
最初、inpCount=0なので、
1回目のscanf でinpData読み込み(入力)
inpCount++ で inpCount を1つ増やす(つまり1になる)
inpTotal+=inpDate で積算
という一連の操作を行います。
続いて
inpCount=1の時・・・(ここで inpCount=2になる)
2回目(2個目?)の入力
inpCount=2の時・・・
inpCount=3の時・・・
inpCount=4の時・・・(この時 inpCount=5になる)
5回目の入力
よって、inpCount<5 ではなくなるので、while{}は終了し、次の処理へ進む。つなり、/*プログラムの終了*/が始まるのです。

このような説明でよかったでしょうか?
    • good
    • 0
この回答へのお礼

つまり、inpCount=0の時は、scanf関数で、inpDataを読み込ませる処理をする。という事だったのですね?教えていただけると嬉しいのです。

お礼日時:2023/07/20 17:15

これを関数と呼ぶのかは知りませんが、そのようですね。


【C言語入門】scanfで数値、文字列の入力(sscanfの使い方も解説)
https://www.sejuku.net/blog/24965
    • good
    • 0

>inpCountが0が真の場合は、カウント0回ということになるのですが、



この意味が分かりません。こういう意味ですか?

When the value of 'inpCount' is 0, in other word, when the value of formula 'inpCount < 5' is TRUE, you recognize now it is iteration 0.

この前提で回答します。

>どうなるのでしょうか?

画面に「input? 1 2 5 9 10」と表示され、入力を求められます。値を入力すると再度同様の画面表示され、入力を求められ・・・ということを計5回繰り返します。その後、「  kaisuu=数字 goukei=数字 heikin=数字」と表示され、プログラムは終了します。ただし、入力を求められたときに一度でも整数値以外の文字を入力した場合の動作はよくわかりません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!