为了账号安全,请及时绑定邮箱和手机立即绑定

我是小白,求大神改错

我是小白,求大神改错

C
慕粉18341035298 2016-07-21 11:53:32
#include<stdafx.h>double a(double b,double d,double g){  double c,f,e; if (b <= 3) {  printf("起步价13元+"); } else {  c = b*2.3;  return c; } if (d >= 23 || d <= 5||g>=23||g<=5) {  e = b * 2; }  f = c + e; return f;}int main(){ double b = 12, d = 9, g = 18; a(); printf("%f", f); return 0;}错误:cpp(25): error C2660: “a”: 函数不接受 0 个参数cpp(26): error C2065: “f”: 未声明的标识符P:求大神讲解错误原因,详细。
查看完整描述

2 回答

已采纳
?
luofuxiang

TA贡献34条经验 获得超34个赞

错误一:楼主定义了带有三个形参的函数【double a(double b,double d,double g)】,而在main函数中调用函数a的时候没有加实参。

错误二:楼主在后面使用了变量f,而main函数里面没有声明改变量。

楼主只需要修改一行代码即可(下面代码已经调试运行过):

#include<stdio.h>
double a(double b,double d,double g)
{
 
 double c,f,e;
 if (b <= 3)
 {
  printf("起步价13元+");
 }
 else
 {
  c = b*2.3;
  return c;
 }
 if (d >= 23 || d <= 5||g>=23||g<=5)
 {
  e = b * 2;
 } 
 f = c + e;
 return f;
}
int main()
{
 double b = 12, d = 9, g = 18;
 double f= a(b,d,g);/*修改这行代码*/
 printf("%f", f);
 return 0;
}


查看完整回答
反对 回复 2016-07-21
?
柠檬酸钠

TA贡献331条经验 获得超534个赞

我就是没学过C语言都看出来了。。

首先,你的a函数需要3个参数,你在25行调用的时候一个都没传

第二,你在函数中return了f,所以要在调用函数时接收一下返回值

综上所述,你需要把第25行改成这样

double f = a(b,d,g);

查看完整回答
反对 回复 2016-07-21
  • 2 回答
  • 0 关注
  • 1280 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信