下面是代码。当我对其进行测试时,由于某种原因,它始终返回0。
float compute_personal_allowance ( float annualSalary )
{
int pa = 0;
if (annualSalary <= 100000)
pa == 11850;
else if (annualSalary > 100000)
pa == 11850 - 1 * ((annualSalary - 100000)/2);
return pa;
}
我使用以下方法进行测试:
gcc -lm -std = c99 -o
答案 0 :(得分:3)
您的问题就在这里
pa == 11850 - 1 * ((annualSalary - 100000)/2);
==
不进行分配,而是进行比较。因此,在这种情况下,这实际上没有任何作用。计算结果为1
或0
,然后丢弃该结果。您需要的是
pa = 11850 - 1 * ((annualSalary - 100000)/2);
答案 1 :(得分:2)
要完整:pa
的第一次分配是错误的:
float compute_personal_allowance ( float annualSalary )
{
int pa = 0;
if (annualSalary <= 100000)
pa = 11850;
else if (annualSalary > 100000)
pa = 11850 - 1 * ((annualSalary - 100000)/2);
return pa;
}