P22 21 循环结构

来源:百度知道 编辑:UC知道 时间:2024/06/21 13:04:13
以下程序的功能是:s=1+1/2+1/3+....+1/10
main ()
{int n; float s;
s=1.0;
for(n=10;n>1;n--)
s=s+1/n;
printf("%6.4f\n",s);
}导致程序错误的结果的程序行是()
求详解过程

导致程序错误的结果的程序行是(s=s+1/n; )

注意一下:
/处理,
当/左右都为整型时,/为取整处理,由于n的取值一直是大于1的,所以1/n始终为0
当/左右至少有一个为浮点型时,/才为取商处理

s=s+1/n; 除号/的两边都是int类型,应该至少将其中的一个强制转换成浮点类型。