我遇到了内存访问问题。当i = 0
时,Visual Studio会引用以下代码行标记并抛出异常。
无法访问0x00AD8B3B
,而0x00AD8B3B
等于scr+np-i
如何修复for循环体以解决此问题?
int o_strrev(char* scr)
{
int np = strlen(scr) - 1;
char tmp;
if (!scr) return -1;
if (!*scr) return -1;
for (int i = 0; i < np / 2; i++)
{
tmp = scr[np-i];
scr[np-i] = scr[i]; # this line
scr[i] = tmp;
}
return 0;
}