1. ホーム
  2. c

[解決済み] C言語でのプログラム完了時の画面一時停止

2022-02-24 23:18:58

質問

次のようなことができるようにしたい。 Press any key to exit をプログラム終了時に実行する方法がわかりません。

プログラムを実行すると、結果を見る前に端末が終了してしまいます。

//by Nyxm
#include <stdio.h>

main() {

    int temp, x, flag, num, size;

    printf("\nEnter how many numbers you wish to enter: ");
    scanf("%d", &size);
    int array[size];

    for (x = 0; x < size; x++) {
        printf("Enter an integer: ");
        scanf("%d", &num);
        array[x] = num;
    }

    printf("Please enter either 1 or 2\n1:\tAscending\n2:\tDescending\n\n...");
    scanf("%d", &num);

    if (num == 1) {
        flag = 0;
        while (flag == 0) {
            flag = 1;
            for (x = 1; x < size; x++) {
                if (array[x] < array[x-1]) {
                    flag = 0;
                    temp = array[x];
                    array[x] = array[x-1];
                    array[x-1] = temp;
                }
            }
        }
        } else {
        flag = 0;
        while (flag == 0) {
            flag = 1;
            for (x = 1; x < size; x++) {
                if (array[x] < array[x-1]) {
                    flag = 0;
                    temp = array[x];
                    array[x] = array[x-1];
                    array[x-1] = temp;
                }
            }
        }
    }

    printf("\nYour sorted array:\n");
    for (x = 0; x < size; x++) {
        printf("%d\n", array[x]);
    }
}

何かご意見はありますか?

を使っています。 MonoDevelop Wubi ということです。

解決方法は?

このクイックハックを行うには、最も一般的な2つのオプションがあります。

/* Windows only */
#include <stdlib.h>

system("pause");

そして

/* Cross platform */
#include <stdio.h>

printf("Press enter to continue...\n");
getchar();

最初の方法は本当に"any"キーでトリガーされますが、下の方法はエンターでトリガーされるだけです。