设a和b均为double型变量,且a=5.5,b=2.5,则表达式:(int)a+b/b的值是多少,为什么

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 17:41:04
设a和b均为double型变量,且a=5.5,b=2.5,则表达式:(int)a+b/b的值是多少,为什么

设a和b均为double型变量,且a=5.5,b=2.5,则表达式:(int)a+b/b的值是多少,为什么
设a和b均为double型变量,且a=5.5,b=2.5,则表达式:(int)a+b/b的值是多少,为什么

设a和b均为double型变量,且a=5.5,b=2.5,则表达式:(int)a+b/b的值是多少,为什么
我这么跟你解释:
这个涉及到C语言中强制类型转换的知识.
在C语言中,将一个double类型的数据强转成int类型时,将会丢弃该数据的小数部分,而只保留它的整数部分,因此(int)a = 5;对于b/b,因为b是double类型,所以它们的商也是一个double类型,为2.5/2.5 = 1.0(注意要在小数位上加一个0);最后计算5 + 1.0 = 6.0,因为5是int类型,而1.0是double类型,它们俩相加时,5将自动转换成double类型数据5.0,从而实际参加运算的是:5.0 + 1.0 = 6.0.
最后告诉你一个转换的法则:
double ←── float 高

long

unsigned

int ←── char,short 低