问题 单项选择题

要求以下程序的功能是计算: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);  }  程序运行后输出结果错误,导致错误结果的程序行是()

A、s=1.0;

B、for(n=10;n>1;n--)

C、s=s+1/n;

D、printf("%6.4f\n",s);

答案

参考答案:C

解析:

当“/”两侧均为整型数时,运算结果为整数,因此1/n(n>1)的结果总为0,而不是小数。

名词解释
单项选择题