#include
#include
string_change(char * p)
{
int i,len;
char temp;
len = strlen(p);
//printf("%d \n", len);
//test printf("%d\n",len);
for(i=0; i<(len/2); i++)
{
temp = p[i];
p[i] = p[len-1-i];
p[len-1-i] = temp;
}
}
int main(void)
{
char a[20] = "1234567890";
printf("%s\n",a);
string_change(a);
printf("%s\n",a);
return 0;
}
两个明显的误解:
char* a="12***"; 这样定义是错误的。这样 a指向字符串常量的指针。而字符串常量是不能改变的。所以停止运行。
c中数组是从0开始编号的。所以字符串最后一个字符是a[len-1];