我在 Windows 上,使用 git bash 来运行我的 c 程序。
我使用 gcc 来编译代码。当我只做一个简单的事情时printf("hello, world");,它可以工作,但是当我尝试创建一个简单的程序来添加两个数字时,它什么也不做。
它可以编译,gcc -o sum sum.c但是当我使用它运行./sum它时,它什么也不做,但是当我在命令提示符中运行它时,它运行正常。
#include <stdio.h>
int main(void) {
int n1, n2;
printf("Enter a number: ");
scanf("%d", &n1);
printf("Enter another number: ");
scanf("%d", &n2);
int sum = n1 + n2;
printf("Sum: %d\n", sum);
}
Run Code Online (Sandbox Code Playgroud)
fflush(stdout)我通过在这些语句后附加来解决这个问题printf():
printf("Enter first value: ");
fflush(stdout); // this
scanf("%d", &a);
printf("Enter second value: ");
fflush(stdout); // this
scanf("%d", &b);
Run Code Online (Sandbox Code Playgroud)
只需刷新缓冲区即可让程序在打印后等待您的输入。
工作示例截图: