【C言語】正しい値が入力されるまでscanfを繰り返す方法

この記事では、C言語において正しい値が入力されるまでscanf関数を使った繰り返し処理を行う方法について解説します。

目次から探す

正しい値が入力されるまでの繰り返し処理

プログラミングにおいて、ユーザーからの入力を受け付ける際には、正しい値が入力されるまで繰り返し処理を行うことがあります。

C言語では、このような処理を実現するために、whileループを使用する方法や入力値のチェック方法があります。

whileループを使用する方法

whileループは、指定した条件が真である限り、繰り返し処理を行う制御構造です。

正しい値が入力されるまで繰り返し処理を行う場合には、whileループを使用することが一般的です。

以下に、正しい値が入力されるまで繰り返し処理を行うプログラムの例を示します。

#include <stdio.h>
int main() {
    int num;
    while (1) {
        printf("整数を入力してください: ");
        scanf("%d", &num);
        if (num >= 0) {
            break;
        } else {
            printf("正しい値を入力してください。\n");
        }
    }
    printf("入力された値は %d です。\n", num);
    return 0;
}

このプログラムでは、ユーザーに整数の入力を求め、入力された値が0以上であるかどうかを判定しています。

もし入力された値が0未満であれば、正しい値を入力するように促すメッセージを表示し、再度入力を求めます。

正しい値が入力されるまでこの繰り返し処理が続きます。

正しい値が入力されるまで繰り返し処理を行うことで、プログラムを停止させることなく安全性の高いコードを書くことができます。

目次から探す