gpt4 book ai didi

c - 如何让scanf()接收b的值?

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

   int a,b;
while (scanf("%d",&a) != EOF){
printf("%d ",a);
}
printf("\n");
printf("Pls enter value b\n");
scanf("%d",&b);
printf("%d",b);
return 0;

当我输入然后使用command + D跳出while循环时,此时无法再次进入,导致b的值是随机的。 enter image description here

最佳答案

正如其他人所建议的,您应该找到另一种方法来终止循环。尽管如此,这里有一个解决方法:

#include <stdio.h>

int main(){
int a,b;
while (scanf("%d",&a)!=EOF){
printf("%d ",a);
}
printf("\n");
printf("Pls enter value b\n");
freopen("/dev/tty", "r", stdin); /* Change /dev/tty to con: if you are using windows */
scanf("%d",&b);
printf("%d",b);
return 0;

}

您可以使用 freopen 强制从控制台输入。

关于c - 如何让scanf()接收b的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59814607/

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