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代表只读。这里的数据不能修改。您试图修改常数,因此出现错误。

加油,祝考研成功。