楼主:
uni1021 (小李)
2017-10-29 20:46:32void reverse(char[]);
int main()
{
char *str="12345";
reverse(str);
puts(str);
free(str);
system("pause");
return 0;
}
void reverse(char str[])
{
unsigned int i,j=strlen(str)-1;
for(i=0;i<j;++i,
作者:
xie29 (xie29)
2017-10-29 20:58:00应该是因为你丢给str的是ㄧ个字面常数,所以不能改里面的值
用malloc吧,再strcpy要强硬改的话要修改分页档属性,很麻烦呢
作者: suwako 2017-10-29 21:14:00
你改成char str[] = "12345";就可以了
作者: caras 2017-10-29 22:04:00
置底十三诫之第四诫
当然也不是完全改不了,知道些原理比较好char*字串放哪,char[]放哪,什么的弄清楚就会了
有时侯,指标就只是指标而已,不要有过多的期望~~ 指过去而已
只能用strcpy swap如果用Char *str