#include <stdio.h>
int main(void)
{
int n,j;
char i[10];
char c;
for(n=0;n<10;n++)
scanf("%c",&i[n]);
scanf("%c",&c);
for(n=0;n<10;n++)
{
if(i[n]==c)
{
i[n]=i[n+1];
for(j=n+1;j<10;j++)
{
i[j]=i[j+1];
}
}
}
for(n=0;n<9;n++)
printf("%c",i[n]);
return 0;
}
输入十个字符,再删除其中与我输入那个字符相同的的字符,不知道为什么我写的这个一直就是删除最后一个字符,求大神看下
你能告诉我我的逻辑是哪里错了吗?
追答所谓删除一个元素,就是将后面的元素前一个位置(通过多次赋值实现),最后一个位置要清空(也就是赋值为0)。
追问你 给我的代码还是不行啊 。
改成这样:scanf(" %c",&c);
你的输入了空格,也就是说你最终存入c的值其实是个空格!