写一个c程序,删去字符串里的指定字符。

请问我这个程序哪里不对?
#include<stdio.h>
void delchar(char *str, char ch);
int main()
{
char *a,b,c;
a = &b;
printf("请输入一个字符串");
scanf_s("%s", b);
printf("请输入一个要删去的字符");
scanf_s("%s", &c);
delchar(a, c);

}
void delchar(char *str, char ch)
{
for (int n = 0; n < sizeof(str); n++)
{
if (*(str + n) = ch)
n++;
printf("%s",str);

}
}

第1个回答  2017-12-30
#include "stdio.h"
void delchar(char *str, char ch)
{
 char *i, *j;
 i = j = str;
 for (int n = 0; *(j + n) != '\0'; n++)
 {
  if (*(j + n) != ch)
   *i++ = *(j+n);  
 }
 *(i++) = '\0';
}
void _tmain(int argc, _TCHAR* argv[])
{
 char a[100];
 char b;
 printf("请输入一个字符串");
 scanf_s("%s",a,100);
 getchar();
 printf("请输入一个要删去的字符");
 scanf_s("%c",&b,1);
 getchar();
 delchar(a,b);
 printf("%s", a);
 while (1);
}

第2个回答  2017-12-30
判断相等用两个=,
输入字符是%c,
你并没有删除任何字符追问

改过之后还无法运行。。输完字符串就会出现这个

追答

代码

本回答被网友采纳
相似回答