I want to be able to do something along the lines of Press any key to exit
at program completion, but have no been able to figure out how to.
When I run my program, the terminal exits before I can see the results.
//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]);
}
}
Any suggestions?
I am using MonoDevelop
in Wubi
, if that makes any difference.
It's an old question but thought I'd add a technique I use when testing programs on a Windows box.
Compile program into an exe. And then create a batch script to "wrap" the program along the lines of:
which will execute your program as it should be, without any dirty hacks, while allowing you to pause the window and see the output.
Use
getchar()
:getchar()
is the right way to go, but you'll run into problems caused byscanf
leaving'\n'
in the input buffer - it will return immediately. See Why doesn't getchar() wait for me to press enter after scanf()?Depending on your need and platform, you may use getch() (or _getch()), or ultimately getchar().
The problem with
getchar()
is that it requires the user to press "enter". The advantage with getchar() is that it is standard and cross-platform.getch()
get all the other property : it just needs a key to be pressed, no display, no "enter" needed. But it's non standard, so support varies depending on platform.Alternatively, for windows only, there is also :
Possible options: 1) system("pause"); 2) getch(); 3) getchar();
if we use
getchar();
,getch();
orsystem("pause");
when we open the debug folder and run the file .exe it still exit immediately :)) i usecin >> variable;
it certain pause the screen :))