首先纠正一个错误,在C语言中是没有这个运算符的。 符号一般用来做换行标记或者作为转义字符标识。用在这里的是/,代表除法操作。
也就是说,(double)(3/2);
(相关资料图)
这里应用到如下几个知识点。
1 数值常量的默认类型。
在没有特殊标识情况下,整型的数值常量,如题目中的3和2,都会默认为int型。
2 整型的除法。
对于整型之间的运算,包括加减乘除模除等,结果都同样是整型值。
在这里是int/int=int,而除法得到的小数部分,会被无条件舍去,注意是舍去而不是四舍五入。
所以3/2=1
3类型的强制转换。
当int型转为double型时,小数部分置为0。
综上,这个表达式的值就是一个双精度浮点型(double)的1.0。
可以以如下程序验证:
#includeint main() { printf("%lf", (double)(3/2)); return 0; }对于%lf格式,默认输出6位小数,所以输出: 1.000000
本文到此讲解完毕了,希望对大家有帮助。