一个C语言初学者的问题

2024-11-30 05:36:01
推荐回答(4个)
回答1:

调试了一下,问题在字符串输入后,没有清系统stdin(标准输入流)的字符残余,导致残余字符被赋值给字符变量c。增加清系统stdin(标准输入流)的字符残余操作可解决问题。

修改代码和注释如下:

#include

void main()

{

 char str[50],c;

 int i,j;

 printf("Input a string:");

 scanf("%s",str);

 getchar();  //清系统stdin流残余字符串

 printf("char:");

 c=getchar();

 j=0;

 for(i=0;str[i]!='\0';++i)

  if(str[i]!=c) 

   str[j++]=str[i];

 str[j]='\0';

 printf("Output a string:%s",str);

}

在VC6调试通过,如下图:

供参考。

回答2:

没有c,你作比较的时候和谁去比较呢?

回答3:

变量c就是你要指定删除的字符吧,你不要它的话怎么指定呢?

回答4:

没C你怎么删指定的字符。。。