值未正确分配给变量

时间:2018-08-27 15:41:40

标签: c variable-assignment

大家好,我希望我能在过去一个小时内遇到的一个问题上得到一些帮助。就我对C语言的理解而言,代码似乎很好,应该可以顺利工作。 >

#include<stdio.h>

void main(){
int salary;
float net_salary;

printf("Please enter your salary.\n");
scanf("%d", &salary);

if(salary >= 2000){
    net_salary = salary - ((7/100)*salary);
    printf("Your net salary is %f." ,net_salary);
}
else if(salary >= 10000 && salary < 20000){
    net_salary = salary - 1000;
    printf("Your net salary is %f.",net_salary);
}

}

当我输入12000时,上面的代码返回以下结果。

Please enter your salary.
12000
Your net salary is 12000.000000.

然后返回6000

Please enter your salary.
6000
Your net salary is 6000.000000.

任何帮助将不胜感激,谢谢您。

1 个答案:

答案 0 :(得分:2)

表达式7/100是一个整数除法。它将结果截断到0

如果您想要float的结果,请使用7.0f / 100.0f。或普通的0.07f