我觉得这应该是非常基本的,但由于某种原因我被卡住了。
这是我所拥有的:
char *rot13(char *s)
{
char *p=s;
int upper;
while (*p) {
upper=toupper(*p);
if (upper >='A' && upper <= 'M')
*p+=13;
else if (upper>='N' && upper <= 'Z')
*p-=13;
++p;
}
return s;
}
我不是 C 大师,但我相对确定这是一件微不足道的事情,我似乎无法确定它。我得到的错误是,一旦它碰到任何一个 char 修饰符(*p+=13
或*p-=13
),我就会得到“############ 处的未处理异常:访问冲突写入位置 #####”
我究竟做错了什么?
谢谢