猿问

我是小白,求大神改错

#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:求大神讲解错误原因,详细。

慕粉18341035298
浏览 1281回答 2
2回答

luofuxiang

错误一:楼主定义了带有三个形参的函数【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; }

柠檬酸钠

我就是没学过C语言都看出来了。。首先,你的a函数需要3个参数,你在25行调用的时候一个都没传第二,你在函数中return了f,所以要在调用函数时接收一下返回值综上所述,你需要把第25行改成这样double f = a(b,d,g);
随时随地看视频慕课网APP
我要回答