next up previous contents
Next: 8. 課題10 Up: 10. 関数 I Previous: 6. モジュロ演算子と乱数

7. 強制終了

プログラムの途中でプログラムの実行を止めたいことがある。 このために、exit() 関数が用意されている。exit() 関数は、 引数に終了値をとる。この終了値は、プログラムを呼び出した側に通知されるが、 0 は正常に終了したと解釈される。通常は、0 を使えば良いであろう。 また、プログラムの冒頭に #include <stdlib.h> が必要である。 (先に学んだ rand()<stdlib.h> を必要とするが、 #include <stdlib.h> は一度書くだけでよい。)


#include <stdio.h>
#include <stdlib.h>
main()
{
    int  seed, random;

    seed = 2;
    srand(seed);

    for (; ;){ /* 無限ループ */
        random = rand();
        printf("random is %d\n", random);
        if(random > 10000){
            exit(0);	/* 10000 以上の時に終わる */
        }
    }
}

この例の場合は、無限ループになっているので、乱数が 10000 以上にならない限り 終わらない。この例では、exit() を使わなくても、break 文を 用いても同じになるが、ループが何重にもなっていて、直ちにプログラムの実行を 終わらせたい場合には exit() が重宝する。



Noriyo Kanayama