目录: 标题| 题干| 答案| 搜索| 相关
问题

要求以下程序的功能是计算main() {int n;float s; s=1


要求以下程序的功能是计算main() {int n;float s; s=1.0; for(n=10;n>1;n--) s=s+1/n; pfintf("%6.4f ",s); } 程序运行后输出结果错误,导致错误结果的程序行是

  • As=1.0;
  • Bfor(n=10;n>1;n--)
  • Cs=s+1/n;
  • Dprintf("%6.4f\n",8);
参考答案
参考解析:

解析:程序中由于n为整型,所以1/n的结果始终为0,故程序最后输出的结果为0,其结果错误,原因为在表达式1/n中1和n均为整型,所以应该将1改为1.0,这样表达式1.0/n的值不为0,为该数学表达式的值,因此我们可以知道导致程序运行后输出结果错误的行为s=s+1/n。

分类:其他
相关推荐

1、以下程序的输出结果是()。 main() { int k=4,m=1,p;

以下程序的输出结果是()。main(){int k=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%dn",p);}func(int a,int b){static int m=...

2、以下程序的输出结果是______。 main() {int a=3; pri

以下程序的输出结果是______。 main() {int a=3; printf("%d ",(a+=a-+a*a) ) }A-6B1C2D-12

3、以下程序的输出结果是( )。main{int x=0.5;char z=a;

以下程序的输出结果是( )。main{int x=0.5;char z=a;printf("%d\n",(x&1)&&(z<2));}A0B1C2D3

4、以下程序有错,错误的原因是main(){ int *p,i;char *q,

以下程序有错,错误的原因是main(){ int *p,i;char *q,ch; p=&i; q=&ch; *p=40; *p=*q; ......}A.p和q的类型不一致,不能执行*p=*q;语句B.*p中存放的是地址值,因此不...

5、以下程序的输出结果是()。 #include main() { int

以下程序的输出结果是()。#include main(){int a=2,c=5;printf("a=%%d,b=%%dn",a,c);}Aa=%2,b=%5Ba=2,b=5Ca=%%d,b=%%dDa=%d,b=%d

6、以下程序的输出结果是()。 main() { int a[4][4]={{

以下程序的输出结果是()。main(){int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%dn",a[0][3],a[1][2],a[2][1],a[3][0]);}A0650B1470C5430D输出值不定