一个关于字符指针的奇怪问题!

一个关于字符指针的奇怪问题!

************************************

问题如下,先看两段代码:

代码一:
#include
"stdio.h"

void exchange(char *s1,char *s2);

void main()
{
char *str="abc";
exchang(str,str);
}

void exchange(char *s1,char *s2)
{
char temp;
temp
=*s1;
*s1=*s2;
*s2=temp;
}
代码二:
#include
"stdio.h"

void exchange(char *s1,char *s2);

void main()
{
char str[10]="abc";
exchang(str,str);
}

void exchange(char *s1,char *s2)
{
char temp;
temp
=*s1;
*s1=*s2;
*s2=temp;
}

**********************

问题:为什么代码一执行会出错,而代码二却不会呢?

求解答,自己没法理解!

posted @ 2011-03-25 17:15  Watson.Long  阅读(144)  评论(0编辑  收藏  举报