iteye_521 2008-07-03 13:44
浏览 115
已采纳

CDT下到底如何调试带有输入的C程序?

环境:Eclipse3.4 + CDT + cygwin
[code="c"]#include
#include

int main(void) {
char name[20];
printf("Please enter your name:");
scanf("%s",name);
printf("%s says, !!!Hello World!!!",name);
return EXIT_SUCCESS;
}[/code]

如果是正常运行,则应该先输出第一个printf中的字符串,然后等待输入,我在控制台输入完成后回车,然后输出第二个printf中的字符串。

但是运行后,Eclipse的控制台什么也没输出,当我随便输入一个字符串后,同时输出了第一个和第二个printf中的字符串。如果直接双击生成的exe文件是可以在cmd窗口中正常运行的。理论上应该执行到printf函数的时候我的控制台上就应该打印出提示信息的,可是为什么要等我输入一些东西后一股脑全给我扔出来了啊?

  • 写回答

1条回答 默认 最新

  • iteye_17163 2008-07-03 15:13
    关注

    在第一个printf()语句之后加上
    fflush(stdout)应该就可以输出了.

    楼主可以参考一下这个帖子:
    [url=http://topic.csdn.net/u/20070804/13/b301b4b6-3bdd-41df-bcaf-73f85e54219b.html]关于printf的刷新输出问题??[/url]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 prism提示我reinstall prism 如何解决
  • ¥15 asp.core 权限控制怎么做,需要控制到每个方法
  • ¥20 while循环中OLED显示中断中的数据不正确
  • ¥15 这个视频里的stm32f4代码是怎么写的
  • ¥15 JNA调用DLL报堆栈溢出错误(0xC00000FD)
  • ¥15 请教SGeMs软件的使用
  • ¥15 自己用vb.net编写了一个dll文件,如何只给授权的用户使用这个dll文件进行打包编译,未授权用户不能进行打包编译操作?
  • ¥50 深度学习运行代码直接中断
  • ¥20 需要完整的共散射点成像代码
  • ¥15 编写vba代码实现数据录入工作