问题
单项选择题
要求以下程序的功能是计算: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,而不是小数。