Str考研
楼主你好。
# include & ltstdio.h & gt
# include & ltstring.h & gt
char * reverse(char * str);
void main()
{
char str[100]= { 0 };
printf("输入反转字符串:");
gets(str);
printf("输出反转字符串:");
puts(反向(str));
}
字符*反转(字符*字符串)
{
char *p,* q;
炭化温度;
int len = strlen(str);
p = str
q = str+len-1;
for(;p & ltq;P++,q-)//学会使用指针,很方便也很麻烦,看用户实力。
{
temp = * p;
* p = * q;
* q = temp
}
返回字符串;
}
输出:
输入反转字符串:abcdefghijk
输出反向字符串:kjihgfedcba
按任意键继续
前面的错误是因为字符串“abcd”存储在。rodata段,即常量数据段,ro代表只读。这里的数据不能修改。您试图修改常数,因此出现错误。
加油,祝考研成功。