ここから本文です

c言語プログラム

アバター

ID非公開さん

2018/5/3101:00:45

c言語プログラム

int i;

for(i=1;i<4;i++){

printf("%d",i);

printf("%d",i+1);

 

}

}は
なぜ
123234と表示されないのですか?

また
int i;
for(i=8;i<4;i++){
printf("%d",i);
}
}

は8と表示されるで
あってますか?

閲覧数:
48
回答数:
1

違反報告

ベストアンサーに選ばれた回答

lon********さん

2018/5/3101:54:20

> なぜ123234と表示されないのですか?
なぜ123234となると思うのかがわからない。
i=1 のとき:i=1、i+1=2
i=2 のとき:i=2、i+1=3
以下略。

> 8と表示されるであってますか?
いいえ。

i=8のとき:i<4を満たす
i=9のとき:i<4を満たす
以下略。

上記のように、i<4の条件を満たし続けるので、
i=8、9、10、…と処理が続いていき、
printf("%d", i);でiの値を表示し続ける。
根本的にプログラムが間違っている。

  • アバター

    質問者

    ID非公開さん

    2018/5/3102:07:48

    回答ありがとうございます。
    ①は理解しました。

    ②はi<4なので
    8<4になってしまうので弾かれる。って訳ではないの?

  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる