首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >控制台输入C

控制台输入C
EN

Stack Overflow用户
提问于 2020-02-19 03:32:37
回答 1查看 123关注 0票数 1

我是C语言的初学者,想知道我的代码在这里有什么问题:

代码语言:javascript
复制
#include "stdio.h"

int main(void)
{ 
    int a;

    printf("Please input an integer value: ");
    scanf("%d", &a);
    printf("You entered: %d\n", a);

    return 0;
}

我的问题是,在进行任何控制台输出之前,我必须键入一个值,例如,如果我键入7,则会得到以下控制台输出:请输入一个整数值:您输入:7

我在另一台计算机上尝试了完全相同的代码,它工作得很好,我猜是缓冲区问题吧?但是我不知道如何修复它..有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2020-02-19 04:12:17

如前所述,要保证在代码中的该点打印该行,您可以像这样刷新标准输出,

代码语言:javascript
复制
#include "stdio.h"

int main(void)
{ 
    int a;

    printf("Please input an integer value: ");
    fflush(stdout);
    scanf("%d", &a); 
    printf("You entered: %d\n", a);

    return 0;
}

你可以阅读这篇文章以了解更多细节,Why does printf not flush after the call unless a newline is in the format string?

更新感谢@Osiris评论

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60288218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档