两字符串交换,错在哪?请指教,谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/02 21:21:15
#include <iostream.h>
void main(){
char str[]="abcdefghij";
char *ps="klmnopqrst";
int i=0;
while(i<10)
{*ps=str[i];i++;ps++;}
cout<<str<<endl;
cout<<ps<<endl;
}
该怎么写呀???

ps是指针常量,不能被改变。

楼上的,这里没有用const,ps是个指针变量,上述问题主要是因为ps指针指的内存单元被你给改变了,因为你用了ps++了,指针地址偏移了10个单位啊!!
cout<<pa输出的是后面内存的未知领域,恐怖啊!!