在C中程序完成时暂停屏幕

Nyx*_*yxm 2 c

我希望能够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]);
    }
}
Run Code Online (Sandbox Code Playgroud)

有什么建议?

我使用MonoDevelopWubi,如果有什么差别.

orl*_*rlp 19

要做到这一点,快速破解,最常见的两个选项是:

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

system("pause");
Run Code Online (Sandbox Code Playgroud)

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

printf("Press enter to continue...\n");
getchar();
Run Code Online (Sandbox Code Playgroud)

我建议使用后一种方法,虽然第一种方法确实触发"任意"键,而底层只触发输入.


Dav*_*ave 5

使用getchar()

...program...
printf("press enter to continue...\n");
getchar()
Run Code Online (Sandbox Code Playgroud)