#include<stdio.h>
#include<math.h>
float sum=0;
float addtion(int i,int j )
{
float l;
for (int k = 0; k < 20; ++k) {
l=i*1.0/j;
sum+=l;
j*=2;
}
return sum;
}
int main()
{
//有一分数序列:1/2,1/4,1/6,1/8……,用函数调用的方法,求此数列前 20项的和。
int i=1,j=2;
addtion(i,j );
printf("前20项和%f",sum);
return 0;
}
以上代码很简单,原因也很简单,就是全局变量的作用域是全局范围的,你无论在main里调用还是在自己定义的封装函数里,都是在全局变量这个变量的地址上进行修改的。