所以我试着制作一个付款计算器,它会要求用户输入工资,并且应该向他们显示所有的东西(他们的净工资,他们的津贴,他们的工资等),我试图让它如此如果他们输入的数字在一定范围内,其余代码将使用一定数量,但我遇到的问题是只有我的其他if语句正常工作。 if语句将执行但也会显示else if语句。你们能帮忙吗?
这是代码的一部分:
///Allowance
int catagory()
{
if ((income <= 150000) && (income >= 80000))
{
allowance = 8000;
printf("\nYour Allowance is: %d", allowance);
}
else if((income <= 79999) && (income >= 55000));
{
allowance = 6500;
printf("\nYour Allowance is: %d", allowance);
}
}
答案 0 :(得分:5)
else if((income <= 79999) && (income >= 55000));
^^^
拿出那个分号。 它应该现在正确运行。
答案 1 :(得分:0)
首先,你的else-if标题末尾有一个终止字符:
else if((income <= 79999) && (income >= 55000));
分号在其正文中分割else-if标题,使函数的主体非条件可执行部分成为可能。要解决此问题,只需删除分号:
else if((income <= 79999) && (income >= 55000)) // no semicolon needed
,您的函数应根据函数int
的定义返回catagory()
值。您需要在函数末尾添加return
语句,或将函数的返回类型更改为void
。