【发布时间】:2013-02-27 01:34:01
【问题描述】:
我正在尝试从字符串中删除两个连续的重复元素。我在第 16 行遇到分段错误。即使注释的第 17 行也给我同样的错误。
不要担心我的程序逻辑。它可能是错误的......但我被这个错误所震惊......帮我解决......解释我为什么会收到这个错误
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *st="fvvbbyyr";
int i=0,j,len;
for(len=0;st[len]!='\0';len++);
for(i=0;i<len;i++)
{
if(st[i]==st[i+1])
{
for(j=i+2;j<len;j++)
{
*(st+j-2)=*(st+j);
//st[j-2]=st[j];
}
len = len-2;
i=-1;
}
}
return 0;
}
【问题讨论】:
-
您没有使用编译器警告。在转向 SO 之前,请务必用尽本地可用的工具。
-
@Pascal Cuoq 它是上面提到的一个副本...
标签: c