一个关于字符指针的奇怪问题!
一个关于字符指针的奇怪问题!
************************************
问题如下,先看两段代码:
代码一:
#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;
}
**********************
问题:为什么代码一执行会出错,而代码二却不会呢?
求解答,自己没法理解!