• 締切済み

C言語の実行について、

#include <stdio.h> #define N 2 void main(void) { int i ,j ; for( i=1 ; i <= N ; ++i) { for( j=i ; j < N+2 ; ++j) { printf("j=%d\n",j); } printf("i=%d\n",i); } } を実行すると、 j=1,j=2,j=3,i=1,j=2,j=3,i=2となったんですが、 どういった順序で行われているのでしょうか? よろしくお願いします。

みんなの回答

  • f272
  • ベストアンサー率46% (8467/18126)
回答No.3

i=1; j=1; printf("j=%d\n",j); j=2; printf("j=%d\n",j); j=3; printf("j=%d\n",j); printf("i=%d\n",i); i=2; j=2; printf("j=%d\n",j); j=3; printf("j=%d\n",j); と書けばわかるのか?

  • tekcycle
  • ベストアンサー率34% (1839/5289)
回答No.2

私なら、for分の前で、iforやjforなどと適当な単語を表示させたり、そのprintf行の表示を変え、N、N+2、i、j、全ての変数(?)がいくつになっているか判るようにするでしょう。 そうやってテストが終わって、動作が判ったら、元に戻します。 私ならね。 ド素人もド素人のヘボプログラマーとさえ呼ばれない人の戯言かもしれませんが、まぁだから、他人に尋ねることではなく、自分で判るように組み替えてみることだと思います。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

何が「行われる順序」を問うている?

関連するQ&A