#include<stdio.h>doublef(intn){inti;doubles;s=1.0;for(i=1;i<=n;i++)s+=1.0/i;

2022-03-19 财经 80阅读
main()函数中
第一次调用f(i),i此时值为0,即传送的参数为0即n的值为0,那么进入f函数循环时无法通过i<=n这个判定,所以s值不便仍为1,结果为a=a+1=0+1=1.程序到此时a的值改变为1
第二次调用f(i),i此时值为1,即传送的参数为1即n的值为1,那么进入f函数循环时可以通过1次i<=n这个判定,所以s的值为s=1+1/i=1+1=2,结果为a=a+s=1+2=3,程序到此时a的值改变为3.
第二次调用f(i),i此时值为2,即传送的参数为2即n的值为2,那么进入f函数循环时可以通过2次i<=n这个判定,所以s的值为s=1+1/i+1/2=1+1+0.5=2.5,结果为a=a+s=3+2.5=5.5
求分
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com