我正在编写简单的程序,在其中进行1/3,1/5之类的操作。 但是在打印o / p时会打印0.00 ..
int main()
{
float res = 0.0;
int no1 =1 ;
int no2 = 3;
res = (no1) / (no2) ;
printf("Res:[%f] ",res);
}
〜
理想情况下,它应打印0.3,但应打印0.0000。
答案 0 :(得分:0)
因为no1和no2具有int类型。这意味着任何运算的结果也为int。 所以1/3是0(int),然后0强制浮起
解决方案。使no1或no2或两个浮点。例如:
res = (float) no1 / no2;
或
float no1 = 1.0f;