主题:字符串反转,有时内存访问冲突
字符串反转函数
void reverse_string( char *string )
{
char ch;
char *p, *q;
if (string == NULL)
return;
for (p = string; *p != '\0'; p++)
;
q = --p;
for ( p = string; p != q; p++, q-- ) {
ch = *p;
*p = *q;// 执行到这里程序出错,提示内存访问冲突
*q = ch;
}
}
刚发了个帖子也是内存访问冲突,实在不明白为什么不能这样操作字符串,求高手写一个字符串反转函数。。。
void reverse_string( char *string )
{
char ch;
char *p, *q;
if (string == NULL)
return;
for (p = string; *p != '\0'; p++)
;
q = --p;
for ( p = string; p != q; p++, q-- ) {
ch = *p;
*p = *q;// 执行到这里程序出错,提示内存访问冲突
*q = ch;
}
}
刚发了个帖子也是内存访问冲突,实在不明白为什么不能这样操作字符串,求高手写一个字符串反转函数。。。