|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
编写求两个双精度数之和的函数:(为什么我的输出结果始终有错误,检查程序没问题啊?)
#include <stdio.h>
int main(void)
{
double add(double a,double b);//对add函数做声明
double sum,x,y;
printf("please enter x and y:");
scanf("lf%,lf%",&x,&y);
sum=add(x,y);
printf("sum=lf%\n",sum);
return 0;
}
double add(double a,double b)
{
double s;
s=a+b;
return s;
}
输入:5.3,6.3
结果:sum=lf
你在代码中有一个小错误,导致输出结果出错。问题出在你输入浮点数时的格式控制符上。你应该使用"%lf"来读取双精度数,而不是"lf%"。所以你需要将scanf和printf语句中的格式控制符修改为正确的形式。
此外,你在主函数中对add函数进行了声明,但没有提供函数的具体实现,这可能会导致链接错误。为了解决这个问题,你可以将add函数的定义放在main函数之前,或者在main函数中直接实现add函数。
下面是修改后的代码:
- #include <stdio.h>
- double add(double a, double b); // 对add函数做声明
- int main(void) {
- double x, y;
- printf("please enter x and y: ");
- scanf("%lf,%lf", &x, &y);
- double sum = add(x, y);
- printf("sum = %lf\n", sum);
- return 0;
- }
- double add(double a, double b) {
- double s = a + b;
- return s;
- }
复制代码
希望这次能够输出正确的结果!
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
|
|