很诡异的一个函数
今天无聊写了一小段代码,很简单,就是把一个字符串倒置,代码如下:
#include
void fun(char *a)
{
int i;
char temp;
int n=strlen(a);
for(i=0;i
{
temp=*(a+i);
*(a+i)=*(a+n-1-i);
*(a+n-1-i)=temp;
}
}
int main()
{
char a[5]="abcs";
fun(a);
printf("%s",a);
return 0;
}
但奇怪的是在main函数中,把char a[5]="abcs"换成char *a="abcs"却不能运行,strlen函数本来就是接受字符串的首地址,为什么换成指针就不行了呢?甚是奇怪!