C语言如何在函数中修改数组,并且原数组不改变
比如,main函数中定义了一个inta[100]={1,2,3}然后写一个add函数,把a里面每一个值乘以2,然后全部加起来,返回这个和,但是原数组a里面所有值都没有变,...
比如,main函数中定义了一个int a[100]={1,2,3}
然后写一个add函数,把a里面每一个值乘以2,然后全部加起来,返回这个和,但是原数组a里面所有值都没有变,这应该怎么写呢 展开
然后写一个add函数,把a里面每一个值乘以2,然后全部加起来,返回这个和,但是原数组a里面所有值都没有变,这应该怎么写呢 展开
展开全部
#include <stdio.h>
int add(int *a)
{
int i = 0;
int sum = 0;
for( i = 0; i < 100; i++)
{
sum += (*(a+i))*2;
}
return sum;
}
int main(){
int a[100]={1,2,3};
//result
printf("The add result is %d.\n",add(a));
//print the array
printf("{");
for(int i = 0; i < 100; i++)
printf("%d, ",a[i]);
printf("}");
return 0;
}
sum result is 12.
{1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }
Press ENTER or type command to continue
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询