为什么浮动不起作用?

use*_*715 2 c floating-point floating-point-conversion

在我的代码中,输出是2.000000,而它应该是2.11111

#include<stdio.h>main(){
int i,j;
float r;
i = 19;
j = 9;
r = i / j;
printf(" %f ",r);}
Run Code Online (Sandbox Code Playgroud)

为什么它不起作用?

Jon*_*Jon 8

因为i / j是整数除法(两个操作数都是整数).将结果存储在a中没有任何区别float.

你会得到期望的结果,如果一个ij人的浮动,例如:

r = ((float)i) / j;
Run Code Online (Sandbox Code Playgroud)