因为函数调用时,参数是“值传递”,把参数的值传递给了被调用函数栈上的相同类型的变量。在函数内入参的值被修改之后,你修改的是被调用函数栈上的变量的值,而不是被调用函数栈之外的,调用函数之前作为参数值传递给被调用函数的参数的值。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、雅安服务器托管、营销软件、网站建设、岢岚网站维护、网站推广。
如果想在函数内修改入参的值传递出去,就要用指针,或者全局变量。如果是C++,还可以使用“引用类型“变量。
你将一个int类型设为参数,然后地址传递就可以了
例如:
void x(int x)//注意这里有取地址符号,是地址传递
{
x = x-1;
}
//然后main中调用
int main()
{
int i=10;
x(i);//
//此时i成功减一
}
#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
标题名称:c语言函数内部的修改怎么 c语言在函数内更改了数组
转载注明:https://www.cdcxhl.com/article36/doiiesg.html
成都网站建设公司_创新互联,为您提供手机网站建设、ChatGPT、网站设计、微信公众号、App设计、网站内链
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联