<分区>
我有以下代码。我初始化了 2 个指针,一个在字符串的开头,另一个在字符串的结尾。在每一步之后,我递增第一个指针并递减第二个指针。如果取消引用第一个指针获得的值小于取消引用第二个指针获得的值,我将第一个指针的值复制到第二个。
#include <stdio.h>
#include <string.h>
int main() {
char *word="aacdbc";
char *p=word;
char *q=word+(strlen(word)-1);
printf("\n%s\n",word);
int i;
for(i=1;i<=strlen(word)-1;++i) {
if(*p<*q) {
*q=*p;
}
++p;
--q;
}
printf("\n%s\n",word);
return 0;
}
但是代码显示“段错误”。我错在哪一行?