首页 > 试题广场 >

假定value是一个int类型的值,以下的循环会产生什么输出

[问答题]
假定value是一个int类型的值,以下的循环会产生什么输出?
for (value = 36; value > 0; value /=2)
printf ("%3d", value);
如果value是一个double类型的值而不是int类型的值,会有什么问题?
推荐
它会产生以下输出:
36 18 9 4 2 1
如果value是double类型,那么value变得小于1时判断条件仍会保持为真。循环会一直执行,直到由于浮点数下溢而产生0值。另外,此时%3d说明符也是不正确的。
发表于 2018-03-25 10:10:18 回复(0)