c语言函数数组加2 c语言两个数组求和

C语言如何让两个函数里的两个数组对应的数字加起来

在主函数中定义

目前创新互联建站已为成百上千的企业提供了网站建设、域名、虚拟空间、网站托管、企业网站设计、潼关网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

input里面 把这两个定义的传参。

addarrays 里面 同样传这两个数组做参数。

在addarrays里面 循环累加就好了。

数组长度可以用宏定义 。

编写一个函数,实现将给定的数组的各个元素值加2(以数组名称作函数参数)

void fun(int a[],int n)

{

int *p;

int i;

p=a;

for(i=0;in;i++)

*(p+i)+=2;

}

验证:

#include "stdio.h"

void fun(int a[],int n)

{

int *p;

int i;

p=a;

for(i=0;in;i++)

*(p+i)+=2;

}

void main()

{

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

printf("The original arry a:\n");

for(int i=0;i10;i++)

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

printf("\n");

fun(a,10);

printf("The final arry a:\n");

for(i=0;i10;i++)

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

}

输出结果:

The original arry a:

1,2,3,4,5,6,7,8,9,10

The final arry a:

3,4,5,6,7,8,9,10,11,12

实现

在c语言中*(p+2)和*p+2有什么不同

一、意思不同

*(p+2) 表示先将地址后移两位,再取地址内容。*p+2 表示先取当前地址内容,然后对内容加2。一个是对地址的操作,一个是对内容的操作,完全不同。

二、用法不同

例如:

有数组a:

1 2 3 4 5

*p=a;

那么:

*(p+2)=3,*p+2=3

*p就等于1.*(p+X)就是将指针移x的位置。

三、用途不同

1、*p[ ]

在main函数的参数中有使用到,其中的 char *argv[]的argv就是一个指针数组,用来存储函数调用时传进来可变个数的参数

int main(int argc, char *argv[])

{

something you want to do;    return 0;

}

2、 (*p)[ ]可以作为二维数组的引用

C语言数组相加

数组的下标是从0开始的,并非从1

因此假设定义数组int a[3],那么有效的数组元素为a[0] a[1] a[2]

楼组的代码里面的数组从1开始使用,输入3*3的数组会导致越界,踩内存发生错误

void fun(int arr[M][N])

{

int i,j;

for(i=1;i=M;i++) //应该是for(i=0;iM;i++)

for(j=1;j=N;j++)

scanf("%d",arr[i][j]);

}

其他也按照这个修改就可以了


文章标题:c语言函数数组加2 c语言两个数组求和
分享URL:http://azwzsj.com/article/hipjjp.html