#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; }
柠檬酸钠
TA贡献331条经验 获得超534个赞
我就是没学过C语言都看出来了。。
首先,你的a函数需要3个参数,你在25行调用的时候一个都没传
第二,你在函数中return了f,所以要在调用函数时接收一下返回值
综上所述,你需要把第25行改成这样
double f = a(b,d,g);
- 2 回答
- 0 关注
- 1280 浏览
添加回答
举报
0/150
提交
取消