作者:
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