• 締切済み

while文について教えてください。

 int num[10] = {2,4,6,8,10,12,14,16,18,20}; int n1 ,i;  i=0; n1=10; while(i++<n1) n1-=i; でプログラム実行するとwhile(i++<n1)でn1-=i;のとき  i=0の値は1になり、n1-1=9になると思うのです。  しかし、解説文を読むとn1-i=10のままなのです。  後置インクリメントでi++なので次のn1-i=i;のときは  既にi=1増える形だと思うのですがちがうのですか?  どなたか教えてくれるとたすかります。 

みんなの回答

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.2

>n1の値を見たいのでなく、 まず、n1の値を確認することで、 あなたのお考えと解説文の説明の どちらが正しいかがわかるのではありませんか? 裏付けの話はその後です。

yorosi18
質問者

お礼

すいません。補足部分値間違えました。  とりあえず、納得できたので  大丈夫です。ありがとうございました。

yorosi18
質問者

補足

n1の値をかくにんすると10 9 8 7 ・・・と続くので  解説文は正しいです。ただし、  何も解決にはつながりませんが。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.1

n1 の値を出力するコードを追加すれば、何が正しいかがわかることでしょう。

yorosi18
質問者

補足

n1の値を見たいのでなく、なぜその値になるのか  理論的な解説が欲しいのです。

関連するQ&A