注册 登录
编程论坛 VC++/MFC

我的问题是下面的程序在输出的时候最后一个字符是乱码,高手帮忙解决一下,不胜感激

liuweixt 发布于 2011-03-28 19:26, 293 次点击
#include <stdio.h>
#include <string>
#include <iostream.h>
 char * dele(char *str,char dst)
{ int i=0,j=0;
  char ss[20],s[20];
  strcpy(ss,str);
  while(i<strlen(ss))
  { if(ss[i]!=dst)
    { s[j]=ss[i];
      i++;
      j++;
      }
    else
      i++;   
   
  }
 
  s[--i]='\0';
  strcpy(str,s);
   return str;  
}

void main()
{
 int i=0;
 char *p,a[10];
 char *s,b[10];
 p=a;
 s=b;
 
 gets(p);
 gets(b);
 while(i<strlen(b))
 {
 p=dele(p,b[i]);
 i++;  
 }
 strcpy(a,p);
   cout<<a<<endl;
 }
1 回复
#2
qq10235692232011-03-28 19:40
s[i]='\0';  //这样吧
1