大家好,我希望我能就过去一个小时里一直困扰我的问题得到一些帮助。就我对 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.
任何帮助将不胜感激,提前谢谢您。
最佳答案
表达式7/100
是一个整数除法。它将把结果截断为 0
。
如果您想要 float
结果,请使用7.0f/100.0f
。或者简单的0.07f
。
关于c - 值未正确分配给变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52042756/