【发布时间】:2015-03-17 03:20:40
【问题描述】:
程序编译正常,但运行时崩溃并显示: 进程以 -1073741819 状态终止
void reverse(char *str){
char * end1 = str;
char tmp = 'c';
if(str){
while(*end1){
++end1;
}
--end1;
while(str<end1){
tmp=*str;
*str=*end1;
*end1=tmp;
str++;
end1--;
}
}
}
有什么想法吗?
【问题讨论】:
-
你怎么打电话给
reverse?您确定您传递的字符串是可修改的吗? IE。 不是char* str = "foo";. -
猜测字符串文字。
-
是的,这个功能看起来不错。您可能会在非法输入时调用它。
-
不确定但您使用过
using namespace std;吗?这可能与std::endl和char* endl发生冲突 -