首页 > 解决方案 > 在 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 = 10then 输出是1.00,另一个示例是a = 10 & b=15then 输出是0.00。有没有办法防止整数被截断?我不能把 a 和 b 作为浮点数。

标签: c

解决方案


不,整数除法总是截断。但是,如果您只转换(至少)一个操作数,则可以进行浮点除法:

division = (float)a/b;

推荐阅读