c - 在 C 中除法时如何防止整数截断值?
问题描述
我正在用 C 编写一个程序,这是我的代码
#include<stdio.h>
#include<conio.h>
void main(){
int a,b;
float division;
clrscr();
printf("Enter value of a :"); scanf("%d",&a);
printf("Enter value of b :"); scanf("%d",&b);
division = a/b;
printf("\nDivision : %.2f",division);
getch();
}
当我执行此代码并输入值时,它不会返回准确的输出。例如,如果a = 15 & b = 10
then 输出是1.00
,另一个示例是a = 10 & b=15
then 输出是0.00
。有没有办法防止整数被截断?我不能把 a 和 b 作为浮点数。
解决方案
不,整数除法总是截断。但是,如果您只转换(至少)一个操作数,则可以进行浮点除法:
division = (float)a/b;
推荐阅读
- javascript - 如何触发模糊事件以使用 Enzyme 更改输入元素的值?
- tensorflow-federated - tff.learning.from_compiled_keras_model 和 tff.learning.from_keras_model 之间的区别
- ios - Motherview 中缺少 ObservableObject
- download - 下载 Imagenet 数据集的有效 URL?
- selenium - 斜线没有找到使用变量的元素(Python)
- postgresql - 我可以在 join 中使用 PostgreSQL 函数吗?
- ios - 如何从一个 API 调用的结果中分支出多个 API 调用,并在使用 Combine 完成后收集它们?
- i18next - Fluent UI 中的本地化
- android - Fire Stick 4k - ADB 隐藏更新(禁用更新)权限错误
- reactjs - 如何使 Webpack 5 在我的 Docker 容器中可用?