当日のOHP資料です。
#include <stdio.h>
#include "s_print.h"
int main(int argc, char *argv[] ) {
int i = 10;
while ( i > 0 ) { /* i が 0 より大きい間 */
s_print_char ( '*' ); /* '*' を画面に出力 */
/* while 文の本体の部分で i が変化しない */
/* だから、条件「i>0」の「成立/不成立」は変化しない */
/* このままだと、無限に '*' を出し続ける事になる */
}
return 0;
}
#include <stdio.h>
#include "s_print.h"
int main(int argc, char *argv[] ) {
int i = 10;
while ( i > 0 ) { /* i が 0 より大きい間 */
s_print_char ( '*' ); /* '*' を画面に出力 */
i = i - 1; /* 「i--」としてもよい */
/* while 文の本体を一度実行する度に、
i が、一つずつへってゆき、
最後に、i が 0 になるので、条件「i>0」が
不成立になる
!! 丁度 '*' を 10 回出力した時
*/
}
s_print_newline();
return 0;
}
#include <stdio.h>
#include "s_print.h"
int main(int argc, char *argv[] ) {
int i = 10;
while ( i > 0 ) { /* i が 0 より大きい間 */
s_print_char ( '*' ); /* '*' を画面に出力 */
i = i + 1; /* 「i++」としてもよい */
/* これだと i は変化するが 「i>0」という状態は
変化しないので、結局、無限ループ */
/* 「失敗」例 */
/* 単に、変数の値を変化させるのではなく、
変化を繰り返す事により、いつかは、
条件が不成立になるようにする必要がある */
}
s_print_newline();
return 0;
}
#include <stdio.h>
#include "s_print.h"
int main(int argc, char *argv[] ) {
int i = 10;
int j = 10;
while ( i > 0 ) { /* i が 0 より大きい間 */
s_print_char ( '*' ); /* '*' を画面に出力 */
i = j - 1;
/*
これだと、j の値(10)が本体内で変化していないので、
結果的に i の値も、ずっと 9 のまま
やはり、「i = i - 1」形、即ち「変数の値の更新」が本質
*/
}
s_print_newline();
return 0;
}