gpt4 book ai didi

c++ - 当我尝试为我的程序提供 3 个输入时,它需要 4 个才能正常运行。这是为什么?

转载 作者:太空狗 更新时间:2023-10-29 20:20:05 26 4
gpt4 key购买 nike

#include <stdio.h>
#include <stdlib.h>
#define f(x) (1 / (x*x+1))



int main(){
double a,b,h,x,y;

printf("Enter a, b, h: ");
scanf(" %lf %lf %lf " , &a, &b, &h);

// I ask for 3 inputs but the programm needs 4 to run...why is that?


x = a;

while(x<b)
{

y = f(x);
printf("%lf %lf \n", x ,y );
x +=h;

}


system("Pause");
return(0);

}

最佳答案

问题出在你的scanf上:

scanf(" %lf %lf %lf " , &a, &b, &h);
^

scanf 需要查看下一个非空白以确定这个“0 个或多个空白”的结尾,因此您必须给出第 4 个值(它可以是垃圾 - 只要因为它不是空格)用于 scanf 终止输入。

如果您使用的是 Windows,您可以在新行上按 Ctrl-Z,然后按 Enter。这将向程序发送一个 EOF,它也可以终止输入。 (我想你在 Windows 上,因为我在你的程序中看到 system("pause"))

关于c++ - 当我尝试为我的程序提供 3 个输入时,它需要 4 个才能正常运行。这是为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54180577/

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