C语言中浮点型变量赋值,哪个选项不为0?
设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0。()
A. b=1.0/a
B. b=(float)(1/a)
C. b=1/(float)a
D. b=1/(a*1.0)
答案:B. b=(float)(1/a)
解析:
- 选项A:
1.0/a中,1.0为浮点型,a为整型,运算结果为浮点型,因此b不为0。 - 选项B:
1/a中,1和a都是整型,运算结果为整型,即为0。然后将0强制转换为浮点型,因此b为0。 - 选项C:
(float)a将a强制转换为浮点型,1/(float)a运算结果为浮点型,因此b不为0。 - 选项D:
a*1.0中,a为整型,1.0为浮点型,运算结果为浮点型,1/(a*1.0)运算结果为浮点型,因此b不为0。
因此,只有选项B的结果为0,其他选项都将导致浮点型变量b的值不为0。
原文地址: https://www.cveoy.top/t/topic/o4bV 著作权归作者所有。请勿转载和采集!