C语言 float有关问题

C语言 float问题int i 10unsigned int ii 2result 1.0 * (i 2)printf(%f\n, result)为何打

C语言 float问题
int i = 10;
  unsigned int ii = 2;
  result = 1.0 * (i >> 2);
  printf("%f\n", result);

为何打印出的值没有小数位?

[解决办法]
result 的类型是?
[解决办法]

C/C++ code
#include "stdio.h"void main() {  int i = 10;  unsigned int ii = 2;  float result = 1.0 * (i >> 2);  printf("%f\n", result);}
[解决办法]
printf("%.6f\n", result);
这样呢?
[解决办法]
可能是编译器的问题