我的程序不会打印,输入数字后立即关闭(C)

时间:2016-10-09 17:56:21

标签: c

#include <stdio.h>

int main()
{

    int input, i, sum = 0;

    printf("Please enter a number between 1 and 5: ");
    scanf_s("%d", &input);

    for (i = 0; i < 5; i++) 
    {
        sum += input + i;
    }

    printf("Sum = %d\n", sum);

    return 0;
}

当我打开它时,它会问这个问题,但是一旦我输入一个数字,它就会关闭,而不会打印出总和是什么。

2 个答案:

答案 0 :(得分:0)

使用ctrl + F5运行程序。

答案 1 :(得分:0)

如果您使用的是TurboC编译器,请使用getch();

#include<stdio.h>
#include<conio.h>

int main()
{
    //your code
    getch();
    return 0;
}

或编译器是GCC - 您可以使用以下代码来实现自己的getch();并且不需要包括conio.h
这是GCC的代码

#include <termios.h>
#include <stdio.h>

static struct termios old, new;

/* Initialize new terminal i/o settings */
void initTermios(int echo) 
{
  tcgetattr(0, &old); //grab old terminal i/o settings
  new = old; //make new settings same as old settings
  new.c_lflag &= ~ICANON; //disable buffered i/o
  new.c_lflag &= echo ? ECHO : ~ECHO; //set echo mode
  tcsetattr(0, TCSANOW, &new); //apply terminal io settings
}

/* Restore old terminal i/o settings */
void resetTermios(void) 
{
  tcsetattr(0, TCSANOW, &old);
}

/* Read 1 character - echo defines echo mode */
char getch_(int echo) 
{
  char ch;
  initTermios(echo);
  ch = getchar();
  resetTermios();
  return ch;
}

/* 
Read 1 character without echo 
getch() function definition.
*/
char getch(void) 
{
  return getch_(0);
}
int main(){/*your statements*/ getch(); return 0}

<强>参考 gotoxy(), clrscr(), getch() and getche() functions for GCC Linux.