8.3 書式付き入出力

  4.サンプルプログラム2
 "scanf"関数による読み込みプログラム

/***
  scanf サンプルプログラム
   さまざまな変数への読み込み
***/
#include <stdio.h>

/*** main 関数 ***/
int main(void){
 int num;          /* 整数 */
 char ch, str[10]; /* 文字, 文字列 */
 float fnum;       /* 浮動小数点 */
 double dnum;      /* 浮動小数点(long) */

 /*** 標準入力からの読み込み ***/
 printf("整数を入力してください: ");
 scanf("%d", &num);
 printf("入力した整数は %d です.\n", num);

 getchar();   /* 改行を読み飛ばす */

 printf("文字を入力してください: ");
 scanf("%c", &ch);

  printf("入力した文字は %c です.\n", ch);

 getchar();   /* 改行を読み飛ばす */

 printf("文字列を入力してください: ");
 scanf("%s", str);                   /* str 自体がアドレスを指す */
 printf("入力した文字列は %s です.\n", str);

 getchar();   /* 改行を読み飛ばす */

 printf("実数を入力してください: ");
 scanf("%f", &fnum);
 printf("入力した実数は %f です.\n", fnum);

 getchar();   /* 改行を読み飛ばす */

 printf("実数を入力してください: ");
 scanf("%lf", &dnum);
 printf("入力した実数は %f です.\n", dnum);
}
 入力は改行も一つの入力データとして扱われるので改行の入力に関しても注意してプログラムを作成する必要があります。  次は入力のフォーマットを指定して読み込みを行うプログラムです。

/***
  scanf サンプルプログラム
  フォーマットを指定した読み込み
***/
#include <stdio.h>

/*** main 関数 ***/
int main(void){
 int num1, num2;   /* 整数 */

 /*** 標準入力からの読み込み ***/
 printf("整数を 2 つスペースで区切って入力してください: ");
 scanf("%d %d", &num1, &num2);
 printf("入力した整数は %d と %d です.\n", num1, num2);

 getchar();   /* 改行を読み飛ばす */

 printf("整数を 2 つ , (カンマ)で区切って入力してください: ");
 scanf("%d,%d", &num1, &num2);
 printf("入力した整数は %d と %d です.\n", num1, num2);
}

 


2003年4月30日 19:26 更新