从键盘输入一个字符串,删除其中一个字符,输出剩下的字符

学的知识有限,写了一个有点复杂的,不知道哪里不对。
#include<stdio.h>
#include<string.h>
main()
{
int n,i,j=i+1;
char str[20],a;
printf("请输入字符串:");
gets(str);
printf("请输入想要删除的字符:");
scanf("%c",&a);
n=strlen(str);
for(i=0;i<n;i++)
{
if(str[i]==a)
{
if(str[j]!=a)
{str[i]=str[j];
str[j]=a;}
else
for(j=i+1;str[j]==a,j<n;j++)
{str[i]=str[j+1];
str[j+1]=a;}
}
}
for(i=0;i<n;i++)
if(str[i]==a) str[i]='\0';
printf("更改后的字符串为:%s\n",str);
}

修改后的程序:

#include<stdio.h>
main()

int n,i,j=0;
char str[20],a;
printf("请输入字符串:");
gets(str);
printf("请输入想要删除的字符:");
scanf("%c",&a);
for(i=0;str[i];i++)
  if(str[i]!=a) 
    str[j++]=str[i];
str[j]='\0';
printf("更改后的字符串为:%s\n",str);
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-04-01
int n,i,j=i+1; 这里运行不过去。。。。

两个问题
一。i 未定义
二。i 未初始化本回答被提问者采纳
相似回答