[问题] 字串反转问题

楼主: uni1021 (小李)   2017-10-29 20:46:32
void 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的是ㄧ个字面常数,所以不能改里面的值
作者: stupid0319 (征女友)   2017-10-29 20:59:00
用malloc吧,再strcpy要强硬改的话要修改分页档属性,很麻烦呢
作者: suwako   2017-10-29 21:14:00
你改成char str[] = "12345";就可以了
作者: caras   2017-10-29 22:04:00
置底十三诫之第四诫
作者: steve1012 (steve)   2017-10-30 01:15:00
他是constant 当然不能改
作者: stupid0319 (征女友)   2017-10-30 01:40:00
当然也不是完全改不了,知道些原理比较好char*字串放哪,char[]放哪,什么的弄清楚就会了
作者: peterwu4 (notd)   2017-10-30 10:34:00
有时侯,指标就只是指标而已,不要有过多的期望~~ 指过去而已
作者: sss81521 (爆宇哥)   2017-10-30 11:14:00
只能用strcpy swap如果用Char *str

Links booklink

Contact Us: admin [ a t ] ucptt.com