C++的数组传递进函数时,明明是值传递,为什么还是会对原来的数组产生改变?

voidsetArray(chars2[]){s2[0]='h';}voidmain(){chars[]="Helloworld";setArray(s);cout<<s... void setArray(char s2[]){
s2[0]='h';
}
void main(){
char s[]="Hello world";
setArray(s);
cout<<s<<endl;
}
结果变为“hello,world”
展开
 我来答
刀秀慧0C
推荐于2017-11-25 · TA获得超过220个赞
知道答主
回答量:166
采纳率:0%
帮助的人:96.8万
展开全部
你传进去的是数组,其实数组相当于指针,数组名就是这些元素的首地址,所以相当于你传了一个指针!当然会对数组产生改变!
Zackfairli
2012-04-15 · TA获得超过1288个赞
知道小有建树答主
回答量:280
采纳率:0%
帮助的人:346万
展开全部
#include<iostream>
using namespace std;
void setArray(char s2[])
{
s2[0]='h';
}
int main()
{
char s[]="Hello world";
setArray(s);
cout<<s<<endl;
}
是这样吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
护戒之淼
2012-04-15 · TA获得超过132个赞
知道小有建树答主
回答量:396
采纳率:0%
帮助的人:244万
展开全部
传的什么都不会变的啊
setarry只是在函数内部操作
你要想改变要么就地址传或者引用传值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式