c++ 如何把一个数组的值赋到另一个数组

char*begin="aaaaa";char*end="bbbbb";intm=4;for(inti=0;i<m;i++){end[i]=begin[i];printf... char *begin = "aaaaa";
char *end = "bbbbb";
int m = 4;
for(int i=0; i<m; i++){
end[i]=begin[i];
printf("%c ",end[i]);
}
为什么总提示我 ACCESS VIOLATION? 什么意思撒
展开
 我来答
lesey1234
2012-02-10 · TA获得超过355个赞
知道小有建树答主
回答量:421
采纳率:0%
帮助的人:355万
展开全部
这里你定义的是指针 指向字符串常量 常量是不可以修改的
也就是说“aaaaaa” 和“bbbbb” 这些是放在内存的文字常量区 不可以修改

你可以定义为char begin[20]="aaaaaa" char end[20] = "bbbbb"; 定义为数组而不是指针 这样就可以了

不明白追问吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chp19860820
2012-02-10 · TA获得超过921个赞
知道小有建树答主
回答量:750
采纳率:0%
帮助的人:560万
展开全部
改成这样
char begin[] = "aaaaa";
char end[] = "bbbbb";
for(int i=0; i<m; i++){
end[i]=begin[i];
printf("%c ",end[i]);
}
像楼上说的char *begin = "aaaaa"中是指向常量的指针,是不允许进行修改的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
双鱼座大叔0309
2012-02-10 · TA获得超过255个赞
知道小有建树答主
回答量:209
采纳率:100%
帮助的人:164万
展开全部
你定义的相当于const char* 不可以进行赋值操作的
改成数组形式就可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f160a72
2012-02-10 · TA获得超过363个赞
知道小有建树答主
回答量:461
采纳率:0%
帮助的人:398万
展开全部
*begin = "aaaaa"; 定义了一个常量 const char, begin 指向 常量 "aaaaa", 所以不允许更改
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式