C言語で入力の型を判別の方法

C言語では、scanf関数を用いて入力を受け取り、その型を判定することができます。一般的な型の判定方法は以下の通りです。

  1. 整数の種類を判断する
int num;
if (scanf("%d", &num) == 1) {
   printf("输入的是整数\n");
} else {
   printf("输入的不是整数\n");
}
  1. 浮動小数点型の判断
float num;
if (scanf("%f", &num) == 1) {
   printf("输入的是浮点数\n");
} else {
   printf("输入的不是浮点数\n");
}
  1. 文字の種類を判定:
char ch;
if (scanf(" %c", &ch) == 1) {
   printf("输入的是字符\n");
} else {
   printf("输入的不是字符\n");
}

文字を読み込むときは、フォーマット文字の頭に空白を加えて、前の改行を取り除いてください。

  1. 文字種の判別
char str[100];
if (scanf("%s", str) == 1) {
   printf("输入的是字符串\n");
} else {
   printf("输入的不是字符串\n");
}

スペース区切り文字列は %s フォーマット文字列を使用して読むことができます。

scanf関数は入力を読み込む際に指定したフォーマット文字列に従って照合し、照合が成功したら1を返し、そうでない場合は0かEOFを返します。したがって戻り値から入力のタイプを判断できます。

bannerAds