作业帮 > 综合 > 作业

double a=22;int i=0;​i=a%11;为什么有错?

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/05/14 20:43:19
double a=22;int i=0;​i=a%11;为什么有错?
如题,
double a=22;int i=0;​i=a%11;为什么有错?
求余 符号 只能用于 整形 .
a 是 double 型的.
% 求余符号,二元操作符
即拥有两个操作元/操作数,也可以叫 二目、两目
有个三目运算符 :" 举例 => int a = b > c b :c; )
% 的两个操作元 默认 必需是 整形.
int、short int、unsigned int.有的语法里,char bool 也算整形,因为它们的数据范围(这里用“值空间”可能更好理解)属于 int 的值空间.
double 的数据范围(也可以说是精度)明显大于int,所以无法自动转换为 int .
你可以把运算符当成函数(或者叫方法).二元运算符就是带两个参数的函数:
int qiuyu(int a,int b) { ...}
某些高级语言允许重载运算符,如C++,因此可以通过重载使 % 支持非整形数据.
int qiuyu(double a,double b) { return (int)a % (int)b ; }
这样的.