int a=1,b=2;printf("%f",a/b);结果为什么是0.000000,而不是0.500000?
来源:百度知道 编辑:UC知道 时间:2024/06/06 20:36:19
如题
整型除法就是1/2=0
3/2=1
都是这样的!
因为你a和b都是整形的,在做除法的时候被截断了,因为除数按理说应该是0.5对吗?但是你要把它放到一个整形中是不行的,则0.5倍截断成0了。
这样就可以解决问题:printf("%f",(float)a/b);试试看吧。
(int)(a/b)=0;
(float)((int)(a/b))=0
已知int a=1;int b;b=(++a)+(++a)+(++a);为什么b=10?
unsigned int a=2;int b = -3;
void a(int a,int b=0)的含义?
int a=5,b; b=++a*--a;
int a=b;与int a,b;a=b;的区别
int a[3],b[3];a={1,2,3};b=a;有什么问题?为什么不能赋值?
高分!!!int a=1,b=2;则a|b的值是3是为什么?达人赐教!!!
int a=1,b=2;printf("%f",a/b);结果为什么是0.000000,而不是0.500000?
int a=3,b=4,b=5; !(++c-1&&b+c/2)等于什么?为什么?谢谢
int a=2,b=3; float x=3.5,y=2.5; (float) (a+b)/2+(int)x%(int)y怎么算?