**已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。
这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
昨天关门了。
Improve this question
我一直得到一个“expected identifier or“(“错误,但我似乎找不到解决这个问题的方法。
我读到过可能是缺少函数名/定义引起的,我已经有了,所以我不确定还有什么要检查的,因为我正在用CS50自学
验证码:
#include <cs50.h>
#include <stdio.h>
float half(float bill, float tax, int tip); //function declaration
int main(void)
{
float bill_amount = get_float("Bill before tax and tip: ");
float tax_percent = get_float("Sale Tax Percent: ");
int tip_percent = get_int("Tip percent: ");
printf("You will owe $%.2f each!\n", half(bill_amount, tax_percent, tip_percent)); //function call
}
float half(float bill, float tax, int tip); //function definition
{
float result, plus_tax;
float bill = bill_amount;
float tax = tax_amount / 100;
int tip = tip_percent / 100;
plus_tax = bill + bill * tax;
result = plus_tax + plus_tax * tip;
return(result);
}
更新:谢谢你的评论。我已经更新了我的代码,如下所示。
#include <cs50.h>
#include <stdio.h>
float half(float bill, float tax, int tip); //function declaration
int main(void)
{
float bill_amount = get_float("Bill before tax and tip: ");
float tax_percent = get_float("Sale Tax Percent: ");
int tip_percent = get_int("Tip percent: ");
printf("You will owe $%.2f each!\n", half(bill_amount, tax_percent, tip_percent)); //function call
}
float half(float bill, float tax, int tip) //function definition
{
float result, plus_tax;
plus_tax = bill + bill * (tax / 100);
result = (plus_tax + plus_tax * (tip / 100))/2;
return(result);
}
1条答案
按热度按时间uyhoqukh1#
float half(float bill, float tax, int tip);
的定义后面不应该有分号。你在声明函数原型时使用分号,而不是在定义函数原型时使用分号。此外,half
函数中的bill_amount
,tax_amount
,tip_pourcent
变量应该被重命名为与函数名称匹配的参数(即bill
,tax
和tip
)