gpt4 book ai didi

c - do-while 循环中的 scanf

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

我想知道为什么当我只要求两个参数时我的 scanf 会继续运行?

do {
scanf("%f %f\n", &a,&b);
printf("a=%f; b=%f;\n",a,b);
printf("f(a)=%f; f(b)=%f; f(a)*f(b)=%f;\n",f(a),f(b),f(a)*f(b));
}
while(a>=b || f(a)*f(b)>=0);
<小时/>
1
2
3
a=1.000000; b=2.000000;
f(a)=-3.281718; f(b)=-0.610944; f(a)*f(b)=2.004947;
1 5
a=3.000000; b=1.000000;
f(a)=10.085535; f(b)=-3.281718; f(a)*f(b)=-33.097884;

提前谢谢

最佳答案

scanf("%f %f \n ", &a,&b);

末尾的\n 使 scanf 忽略第一个换行符,否则该换行符将终止输入。

这会很好地工作:

  scanf("%f %f ", &a,&b);

关于c - do-while 循环中的 scanf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13696788/

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