首页 > 电脑

c语言之删除指定字符,如输入happynewyear,再输入a,则显示hppynewyer

更新时间2018-04-20 04:47:21

#include<stdio.h>

#include<string.h>

char * delchar (char *s,char c);

int main ()

   int i=0,j=0; 

   char s[80],ch; 

  printf("Enter a string: "); 

  gets(s); printf("Enter a character: ");

  fflush(stdin); scanf("%c",&ch); 

  printf("%s",delchar(s,ch));

 return 0;

}

char * delchar (char *s,char c)

{

 char str[80];

 int i=0,j=0;

 do 

 {

  if(s[i]!=c)  

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

       i++; 

 }while(s[i]!='');

 str[j]=''; 

return str;

这是我编写的程序,但是结果不对显示的是 :8? ,而我不定义函数,直接写在主函数中,结果就对了。我想定义并调用函数,请指教一下,到底是哪里有问题,怎么改。

按你给出的程序编译运行,结果如下:

c语言之删除指定字符,如输入happy new year,再输入a,则显示hppy new yer

从运行结果来看,没有错啊!


因此str在delchar里是临时变量,delchar一执行完成,str的内容是不会保存的,设置为全局变量即可

相关标签:c语言

上一篇:MFC中,(CEdit)如何修改编辑框获取的内容,且保存最新的数据

下一篇:c语言程序设计