程序接受输入但不给出输出

时间:2021-04-14 09:53:05

标签: c

#include<stdio.h>
#include<conio.h>
int main()
{
  clrscr();
  int a,b,c;
  printf("enter the 2 numbers: ");
  scanf("%d %d",&a,&b);
  c=a+b;
  printf("the sum is : %d ",c);
  return(0);  
}

这是一个简单的程序来添加 2 个数字。 我的程序会让我输入值..但它不会打印总和,也不会打印下一行。 它会一直运行到 scanf() 并且当我按下 Enter 键时,它会退出程序。 你能告诉我怎么了。我是一个初级程序员...

2 个答案:

答案 0 :(得分:2)

这里有两件事你应该考虑。

以换行符结束打印输出,因为标准输出通常是行缓冲的。改为printf("the sum is : %d \n",c);。或者在打印输出后显式调用 fflush(stdout);。这将确保打印所有内容。

最后添加一些输入代码。就像一个额外的 scanf("%d", &a); 这基本上是一个小技巧,可以防止窗口在您看到最终输出之前关闭。另一种选择是添加 sleep(3); 以休眠 3 秒。第三种选择是查看是否有一些设置可以控制 IDE 中窗口的关闭。

答案 1 :(得分:1)

您的程序运行正常,但在打印输出后立即退出,让您没有时间查看它。

考虑在 return(0); 之前添加一些输入,例如 2 个 getchar(); 调用。您需要 2,因为读取的第一个字符将是您在数字后键入的 \n