这段程序怎么分析呀,关于数组,函数模块化的


#include <stdio.h>
int fun (int x[],int n)
{
    static int sum=0,i;
    for(i=0;i<n;i++)
    sum+=x[i];
    return sum;
}
main()
{
    int a[]={1,2,3,4,5},b[]={6,7,8,9},s=0;
    s=fun(a,5)+fun(b,4);
    printf("%d\n",s);
}

逐句解析,可供题主参考:

//定义头文件
#include <stdio.h> 
//fun函数 传参 第一个参数 数组地址 第二个参数数组大小
int fun (int x[],int n)
{
    //定义静态整型变量 sum,i 并将sum初始化为0
    static int sum=0,i;
    //循环求和
    for(i=0;i<n;i++)
    sum+=x[i];//sum 用于对数组元素求和以及之后的存储
    //将数组元素求和之后的值返回给主函数
    return sum;
}
main()
{
    //定义两个数组a,b并初始化
    //定义s用于存储求和之后再求和的值
    int a[]={1,2,3,4,5},b[]={6,7,8,9},s=0;
    //s 存储 两个数组元素分别调用函数求和之后 再进行求和的值
    s=fun(a,5)+fun(b,4);
    //输出s的值
    printf("%d\n",s);
}

以上仅供参考,如有任何疑问,可以评论回复,看到即回,希望对题主有所帮助!

定义了两个数组,将两个数组以及它的长度传给了fun函数,然后在这个函数内部对数组进行了求和,最终结果就是两个数组的总和

你这段程序是计算两个数组每个元素相加的总值,fun函数作用是接受两个参数,第一个参数是一个数组,第二个参数是数组长度,下面的for循环是该数组每个元素进行累加后赋值给sum变量返回。main函数中通过两次调用fun函数返回总值进行相加赋值给变量s,最后打印出总值

  • 在主函数里面分别调用了fun函数两次,传入的是a和b数组的数组名数组长度
  • 在fun函数里通过for循环对数组元素进行求和,返回求和后的sum
  • 在主函数里面用s接收两个fun函数的返回值
  • printf打印两个数组分别求和后的结果
int fun (int x[],int n)
{
    static int sum=0,i;
    for(i=0;i<n;i++)
    {
      sum+=x[i];
    }
    return sum;
}

如果对你有帮助,还请点个采纳,万分感谢!