buhuiyaolian
buhuiyaolian
采纳率25%
2016-04-19 10:45

用gcc编译之后scanf和printf问题

我先写了一个printf(“XXXXX”);在写了一个scanf(“%d”,&a),运行之后不会打印出printf的内容,只有当我输入一个值之后才打印出printf的内容,请问这是怎么回事?但在vs2015和linux系统下显示就正确,gcc版本为5.3.0。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

6条回答

  • NK_test NK_test 5年前

    缓冲区的问题,print可能滞留在缓冲区了,语句后加上fflush(stdout)

    点赞 评论 复制链接分享
  • codehat CedarDiao 5年前

    不要用stdout,直接用stderr试试

    点赞 评论 复制链接分享
  • qq_18519771 程序员的那点事 5年前

    这是因为缓冲的问题、你可以在printf(“…/n")或者加一个fflush(stdout)或者调用处理缓冲区的退出exit 0。

    点赞 评论 复制链接分享
  • bigmouthba bigmouthba 5年前

    可能是缓冲区的问题,你在程序开始的地方写上setbuf(stdout,NULL),或者printf("xxxxxx\n").因为默认是是行缓冲。

    点赞 评论 复制链接分享
  • oyljerry oyljerry 5年前

    是不是有什么地方阻塞了,具体要看你的编译选项等。

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 5年前

    贴出你的完整代码才知道。以及你是怎么运行的程序。

    点赞 评论 复制链接分享

相关推荐