gpt4 book ai didi

c - 无法读取代码中的最后一个值

转载 作者:行者123 更新时间:2023-11-30 17:11:24 25 4
gpt4 key购买 nike

我本来打算编写一个程序来打印星星的数量。示例

输入数字:12 11 9 8^D

12 | **********
11 | 11 **********
9 | *********
8 | ******

#include <stdio.h>

int main(int argc, char *argv[]) {
int a;
printf("enter values \n");

while (scanf("%d ", &a) != EOF) {

printf("%d |", a);

for (int j = 1; j<= a; j++) {
printf("*");
}
printf("\n");
}

}

使用我的代码,它会打印出正确的输出,但不会打印出我输入的最后一个值的星数。就像上面的例子一样,它不会打印出 8 颗星,直到我再次按下回车键或按 ^D。我想知道我的代码是否有问题。 ?

最佳答案

不,您的代码没有任何问题。

stdin 是行缓冲的,因此只有按或(= Linux 中的 ctrl-d)才能读取输入。

有诸如 conio.h 之类的库提供非缓冲输入。

关于c - 无法读取代码中的最后一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32312877/

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