c - 值未正确分配给变量

标签 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.

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

最佳答案

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

如果您想要 float 结果,请使用7.0f/100.0f。或者简单的0.07f

关于c - 值未正确分配给变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52042756/

相关文章:

对 *char 的字符分配不起作用

java - 不使用 `return` 将值传递给调用者

java - 为什么对象分配引用内存位置,而基本类型则不然?

c - 为指针的索引赋值

c++ - Windows下的串口编程

python - 是时候在 Python 中给变量赋值了

c++ - 使用gcc编译c/c++程序

C:类型转换成不同尺寸的结构

c - C语言中如何复制到数组?

c - C 中的过程和函数