【问题标题】:Program accepting input but does not give output程序接受输入但不输出
【发布时间】:2021-07-09 08:51:35
【问题描述】:
#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() 并且当我按下回车键时,它会退出程序。 你能告诉我怎么了。我是初级程序员...

【问题讨论】:

  • 你确定它不打印总和然后退出程序吗?
  • “退出程序”是指关闭整个窗口吗?
  • 缺少结尾行\r\n

标签: c


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    您应该在这里考虑两件事。

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

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

    【讨论】:

      猜你喜欢
      • 2015-10-28
      • 1970-01-01
      • 2012-09-25
      • 1970-01-01
      • 1970-01-01
      • 2014-08-19
      • 2021-05-26
      • 2016-06-03
      • 1970-01-01
      相关资源
      最近更新 更多