C programming (4) puts and scanf

puts関数:表示を行う関数

書式化の必要がなく、改行もしたいの場合

puts(“ABC”);
printf(“ABC\n”);

 

scanf関数:読込みを行う関数

scanf関数は、処理の途中でキーボードから文字の入力を求め、入力されたものを処理に利用するというものです。

実例:

#include <stdio.h>
 
int main(int argc, const char * argv[])
{
     
    // insert code here...
    int input;
     
    printf("数字を入力して下さい。\n");
     
    scanf("%d", &input);
     
    printf("入力された数字は、%dです。\n", input);
    
    getch(); 
    return 0;
}

 

実行例:

数字を入力して下さい。
3
入力された数字は、3です。

  1.  テキストが出力され
  2. キーボードからの入力待ちの状態。入力してエンターキーを押しますと処理が再開
  3. 書式付き出力

scanfの2番目の引数に変数を指定する際は、「&(変数名)」というように「&」をつけてポインタとして扱って下さい。そういうルールだと思っていただいて構いません。

実践レベルの問題を考えれば、実は scanf() 関数が使われることは滅多にありません。理由はエラーチェックが十分にできないからです。十分なエラーチェックを行う必要がある入力は(商用のプログラムは十分なエラーチェックが必要であり、結果として本格的なプログラムには scanf() をあまり使わない)変換作業を行わずに、他の標準入力関数を用いて文字列として入力された情報を受け取り、入力された文字列を調べて適切な値に変換するというような作業を行います。もちろんこれらの作業は複雑になります。