C言語 キーボード入力を書式付きで取得 - stdio.h - [ scanf ]

2008.10.18 Saturday | by LRESULT


ーボードからの入力を書式付きで受け取るには、scanf()を使います。

printf()と並んでお馴染みな関数ですね。


scanf
書式 int scanf( const char *format, ... )
機能 キーボードからの入力を書式付きで取得
引数 const char *format : 書式文字列
... : 可変個引数で書式で指定された変数のアドレスをカンマ区切りで指定します。
戻り値 成功すると、入力項目数を返し、
失敗すると、EOF(-1)を返します。


代表的なフォーマットを記載しておきます。
基本的には、printf()と同じものが多いです。

%で始まる記号を変換指定子と言います。


変換指定子
%d 10進数
%c 文字
%s 文字列
%o 8進数
%x 16進数(小文字)
%X 16進数(大文字)
%f 浮動小数点
%% %(パーセント)記号を表示






サンプルコード
10進数で入力された数値を、10進数で表示し、
16進数で入力された数値を、10進数で表示した後、入力された文字列を表示してみます。
#include <stdio.h>

int main(void)
{
  int i;
  char s[100];

  printf( "10進数で入力:" );
  scanf( "%d", &i );
  printf( "入力文字:%d¥n¥n", i );

  printf( "16進数で入力:" );
  scanf( "%x", &i );
  printf( "入力文字:%d¥n¥n", i );

  printf( "文字列を入力:" );
  scanf( "%s", s );
  printf( "入力文字:%s¥n¥n", s );

  return 0;
}



結果
10進数で入力:20
入力文字:20

16進数で入力:20
入力文字:32

文字列を入力:ABCD
入力文字:ABCD
と、表示されると思います。
それぞれキーボードからの入力を、scanf()で取得し、
printf()を利用して画面への出力を行っています。

カテゴリ:C言語 stdio.h | 23:33 | comments(0) | trackbacks(0) | -


コメントする











この記事のトラックバックURL

トラックバック機能は終了しました。

トラックバック