两个long long类型的数(非零)相除,为什么结果为0?

两个long long类型的数(非零)相除,为什么结果为0?

long/long,结果是取整的。如果想不为零 long*1.0/long

当第一个数的绝对值比第二个数的绝对值小时就会是0,取整造成的。

两个长整形运算,结果为整形。

当你的分子小于分母时得到的就是0,如果你不要余数的话

特定跑了下程序才来回答。

int的规则是:两者相除的结果向下取整,所以3/5=0而不是0.6

测试了,
1)两个长整型相除的结果还是长整型的
2)long*1.0/long的方法可以得到小数,此时的结果是double型而不是长整型的,如果用printf函数进行输出的话,记得用lf而不是lld

那就是被除数比除数小了。
比如6除以7得0余6。

这是最基础的数据类型的问题,你翻翻书就懂了。以后问问题 还是先自己查阅一番,实在不懂再问

1)两个长整型相除的结果还是长整型的
2)long*1.0/long的方法可以得到小数,此时的结果是double型而不是长整型的,如果用printf函数进行输出的话,记得用lf而不是lld

把第二个long变成double试试

两个长整形运算,结果为整形。