请告知这个字符串反转功能有什么问题?

0 c++ string

这段代码编译干净.但是当我运行它时,它在第9行给出了异常"访问冲突写入位置".

void reverse(char *word)
{
int len = strlen(word);
len = len-1;
char * temp= word;
int i =0;
while (len >=0)
{
word[i] = temp[len];  //line9
++i;--len;
}
word[i] = '\0';
}
Run Code Online (Sandbox Code Playgroud)

CB *_*ley 7

您是否在调试器中完成了此代码?

如果不是,当i(从0增加)经过len(向0减少)时会发生什么?

请注意,您的两个指针word,并temp具有相同的值-它们都指向相同的字符串.