C言語で前の処理に戻る方法:ステップバックの実装

C言語では、通常は直接前のステップに戻ることはできませんが、ラベルとgoto文を使用して、指定された位置にプログラムをジャンプさせることができ、前のステップに戻る機能を実現することができます。

以下は簡単なサンプルコードです:

#include <stdio.h>

int main() {
    int choice;
    
start:
    printf("1. Option 1\n");
    printf("2. Option 2\n");
    printf("3. Exit\n");
    printf("Enter your choice: ");
    scanf("%d", &choice);
    
    switch(choice) {
        case 1:
            printf("You chose Option 1\n");
            break;
        case 2:
            printf("You chose Option 2\n");
            break;
        case 3:
            printf("Exiting program\n");
            return 0;
        default:
            printf("Invalid choice, please try again\n");
            goto start;
    }
    
    goto start;
    
    return 0;
}

プログラムの実行中に特定の位置に戻る機能を実現するために、スタートタグとgotoステートメントが使用されました。ユーザーが無効なオプションを入力した場合、プログラムはスタートタグにジャンプして、再度選択肢を表示してユーザーに選択させます。

goto文は、コードの複雑さとメンテナンスの難しさを増加させる可能性があるので、実際の開発ではgoto文の使用をできるだけ避けるべきです。プログラムの制御フローを移動させるためには、関数の呼び出しや状態の保存を使用するのがより良い方法です。

bannerAds