5.4 まとめ

  1. 整数変数の標準入力からの読み込み
    標準入力(ユーザーがリダイレクトしなければ、キーボード)からの読み込み には、scanf を用い、その書式は次の通りである。

    書式   scanf("%d", &整数変数)

            例
                    int a;
                    scanf("%d", &a);
            
    例では、整数変数 a に標準入力から一個の整数を読み込む。

  2. scanf のエラー処理
    scanf は、期待した形式(上の場合は整数)以外のものが入力された場合、 0 を返す。入力が正常に行われた場合は、読み込んだ個数(上の場合は1個) を返す。従って、次の例の様に scanf の返り値を元に入力を検査できる。
                    int a;
                    if (scanf("%d",&a)!=1){
                            printf("Error!\n");
                    }else{
                            printf("正常入力\n");
                    }
    

  3. scanf での読みとりエラーと標準入力
    scanf は入力エラーの場合は、標準入力にそのデータを返却する。 入力にデータを返すというと奇異に感じるが、実は、入力データは 一旦システムのある場所に貯められているので、その貯蔵庫に返却 するという意味である。従って、一旦入力エラーとなったデータを 捨てないと次のデータを読むことは出来ない。 そのために、scanf("%s",buf) を用いる。

  4. 実行プログラムの名前を付ける
    a.out 以外の名前を実行プログラムにつけるには、コンパイル時に以下の ようにすれば良い。
                    $ cc   -o    実行ファイル名  ソースファイル名
            例
                    $ cc  -o  test  test.c
    


最初のページ 戻る 次へ 最後のページ 目次
Hiroyasu Asami