C语言中怎么样去在函数调用函数里面去使用数组?,还有递归怎么用?

C语言中怎么样去在函数调用函数里面去使用数组?,还有递归怎么用?,第1张

代码帮你改好了 调用函数时 形参实参都是数组 所以只是传递首地址(就是shuzu)就可以了 不用返回 因为改动地址存放的值 原来数组的值也是一起改动的关于递归 就是在函数中反复使用这个函数 #include <stdioh>

void diaoyong(int b[]);

void main()

{

int a;

int shuzu[5]={53,56,69,35,53};

diaoyong(shuzu);for(a=0;a<5;a++)

printf("%4d",shuzu[a]);

}

void diaoyong(int b[])

{

int a;

for(a=0;a<5;a++)

b[a]+=1;

}

可以将主函数中的数组以形参的形式传入自定义函数即可。

#include<stdioh>

void output(int a, int length);

void process(int a, int length);

void main()

{

    int a[10] = {0};

    int i;

    /

    output the content of the current array

    /

    output(a,10);

    /

    process the array

    /

    process(a, 10);

    /

    output the content of the processed array

    /

    output(a, 10);

}

void output(int a, int length)

{

    int i;

    for(i = 0; i < length; i++)

    {

        printf("%d ",a[i]);

    }

    printf("\n");

}

void process(int a, int length)

{

    int i ;

    for(i = 0; i < length; i++)

    {

        a[i] = i + 1;

    }

}

#include<stdioh>

// 用于修改数组的函数

int change_array(int num, int count)

{

int i,t;

for(i = 0; i < count; i++)

{

t = num[i];

num[i] = t + 1;

}

}

int main()

{

int i, b[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

// 调用函数

change_array(b, 10);

// 输出结果

for(i = 0; i < 10; ++i)

{

printf("%d ", b[i]);

}

}

首先这样的作法是没有意义的,因为当函数返回之后,函数原始空间中的数组和变量是临时的,都会被自动清除和释放。如果需要通过函数将改变的结果传回,可以使用指针。 void shuru(int p,int a[]){ p = 123; int b[10]={1,2,3,4,5,4,6,7}; for

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12154919.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存