C语言中的除法运算有点奇怪,不同类型的除数和被除数会导致不同类型的运算结果
当除数和被除数都是整数时,运算结果也是整数;如果不能整除,那么就直接丢掉小数部分,只保留整数部分,这跟将小数赋值给整数类型是一个道理。
一旦除数和被除数中有一个是小数,那么运算结果也是小数,并且是 double 类型的小数。
#include <stdio.h>
int main()
{
int a = 100;
int b = 12;
float c = 12.0;
}
运行结果:
p=8.000000, q=8.333333
a 和 b 都是整数,a / b 的结果也是整数,所以赋值给 p 变量的也是一个整数,这个整数就是 8。
另外需要注意的一点是除数不能为 0,因为任何一个数字除以 0 都没有意义。
1、%前后必须为整数,不可以为小数等。2、%后面不允许为0。