Pausa la pantalla al finalizar el progtwig en C

Quiero poder hacer algo en la línea de Press any key to exit al finalizar el progtwig, pero no he podido averiguar cómo hacerlo.

Cuando ejecuto mi progtwig, la terminal sale antes de que pueda ver los resultados.

 //by Nyxm #include  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]); } } 

¿Alguna sugerencia?

Estoy usando MonoDevelop en Wubi , si eso hace alguna diferencia.

Para hacer este hack rápido, las dos opciones más comunes son:

 /* Windows only */ #include  system("pause"); 

y

 /* Cross platform */ #include  printf("Press enter to continue...\n"); getchar(); 

Sugiero el último método, aunque el primer método realmente activa la tecla “cualquier” mientras que la inferior solo activa la tecla enter.

Utilice getchar() :

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

Dependiendo de su necesidad y plataforma, puede usar getch () (o _getch ()), o finalmente getchar ().

El problema con getchar() es que requiere que el usuario presione “enter”. La ventaja de getchar () es que es estándar y multiplataforma.

getch() obtiene todas las demás propiedades: solo necesita presionar una tecla, no mostrar, no es necesario “ingresar”. Pero no es estándar, por lo que el soporte varía según la plataforma.

Alternativamente, solo para ventanas, también hay:

 system("pause"); 

getchar() es el camino correcto, pero se encontrará con problemas causados ​​por scanf dejando '\n' en el búfer de entrada; volverá de inmediato. Ver ¿Por qué getchar () no espera que presione enter después de scanf ()?

Posibles opciones: 1) sistema (“pausa”); 2) getch (); 3) getchar ();

Es una pregunta antigua, pero pensé que agregaría una técnica que uso al probar progtwigs en una caja de Windows.

Comstackr el progtwig en un exe. Y luego cree un script por lotes para “envolver” el progtwig siguiendo las líneas de:

 @echo off foo.exe pause exit 

que ejecutará su progtwig como debe ser, sin hacks sucios, mientras que le permite pausar la ventana y ver la salida.