gpt4 book ai didi

c - 使用 scanf() 输入时出现问题

转载 作者:太空宇宙 更新时间:2023-11-04 07:14:28 27 4
gpt4 key购买 nike

我是 C 的新手,所以我在使用 scanf() 时遇到了一些麻烦。

#include <stdio.h>
#include <stdlib.h>

int main()
{
int height;
int weight;

printf("Enter height in inches:\n");
scanf("%d", &height);

printf("Enter weight in pounds:\n");
scanf("%d", &weight);

printf("You are %d inches tall and weigh %d pounds.", height, weight);

return 0;
}

我很确定这是正确的语法,但是当我运行它时,它显示一个空屏幕,在我输入 2 个数字后它显示:

64

120

以英寸为单位输入高度:

以磅为单位输入重量:

你高度 64 英寸,体重 120 磅。

根据一些教程,它应该在我输入第一个数字之前显示“以英寸为单位输入高度:”,在我输入第二个数字之前显示“以磅为单位输入重量:”。请帮助我!

如果相关的话,我使用 Eclipse 编写我的程序,并使用 MinGW 作为编译器。

最佳答案

它是一个 bug in eclipse许多使用 eclipse 和 MinGW 的人都报告了这一点。

要解决此问题,您可以执行以下操作之一:

  • main函数的开头添加如下代码:

     setvbuf(stdout, NULL, _IONBF, 0);
    setvbuf(stderr, NULL, _IONBF, 0);

    这将导致 stdoutstderr 在写入时立即刷新。

  • 每次调用 printf 后使用 fflush(stdout)

关于c - 使用 scanf() 输入时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26029908/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com