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? 什么意思撒 展开
char *end = "bbbbb";
int m = 4;
for(int i=0; i<m; i++){
end[i]=begin[i];
printf("%c ",end[i]);
}
为什么总提示我 ACCESS VIOLATION? 什么意思撒 展开
9个回答
展开全部
这里你定义的是指针 指向字符串常量 常量是不可以修改的
也就是说“aaaaaa” 和“bbbbb” 这些是放在内存的文字常量区 不可以修改
你可以定义为char begin[20]="aaaaaa" char end[20] = "bbbbb"; 定义为数组而不是指针 这样就可以了
不明白追问吧
也就是说“aaaaaa” 和“bbbbb” 这些是放在内存的文字常量区 不可以修改
你可以定义为char begin[20]="aaaaaa" char end[20] = "bbbbb"; 定义为数组而不是指针 这样就可以了
不明白追问吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
改成这样
char begin[] = "aaaaa";
char end[] = "bbbbb";
for(int i=0; i<m; i++){
end[i]=begin[i];
printf("%c ",end[i]);
}
像楼上说的char *begin = "aaaaa"中是指向常量的指针,是不允许进行修改的
char begin[] = "aaaaa";
char end[] = "bbbbb";
for(int i=0; i<m; i++){
end[i]=begin[i];
printf("%c ",end[i]);
}
像楼上说的char *begin = "aaaaa"中是指向常量的指针,是不允许进行修改的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你定义的相当于const char* 不可以进行赋值操作的
改成数组形式就可以
改成数组形式就可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
*begin = "aaaaa"; 定义了一个常量 const char, begin 指向 常量 "aaaaa", 所以不允许更改
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询