关于C语言中的小问题,不知道怎么回事!

#include
int main()
{ double i;
i=1/3;
printf("%f ",i);
return 0; }
输出怎么不是0.333333
而是0.00000?想不明白!麻烦大家帮帮忙!谢谢

i=1.0 / 3; 改成这样, 1/3会取整,所以是0,然后赋值给i,故i就是0了

一个整数除一个整数是没有小数位的,1/1 = 1; 1/2 = 0;只有浮点数除整数才有小数位,有没有小数位是要看被除数的性质,深入一点就是,整数的存储形式
和浮点数的存储形式是不一样的,你可以在网上查一查。