#include"stdio.h"
int del_char(char *old,char *n)
{ int i,j=0;
char a=' ';
for(i=0;a!='\0';i++)
{ a=old[i];
if(a!=' '){n[j]=a; j++; }
}
n[j]='\0';
return 0;
}
int link_string(char *n,char *link_new)
{ int i,j,b=1;
char a;
for(i=0;;i++)
{ link_new[i]=n[i];
if(n[i]=='\0')
{ j=i; break; }
}
for(i=j;j-b>=0;i++)
{ a=n[j-b];
b=b+1;
link_new[i]=a;
}
link_new[2*j]='\0';
return 0;
}
int main()
{ char old[]="was it a bar or a bat i saw",n[25],link_new[49];
del_char(old,n);
link_string(n,link_new);
printf("第一个函数输出%s\n",n);
printf("第二个函数输出%s\n",link_new);
}
第一个函数输出wasitabarorabatisaw
第二个函数输出wasitabarorabatisawwasitabarorabatisaw
a没有初始化
del_char里边,a没有初始化,就去判断a!='\0',导致内存泄露
#include"stdio.h"
int del_char(char *old,char *n)
{
int i,j=0; char a=old[0];
for(i=0;a!='\0';i++)
{
a=old[i];
if(a!=' ')
{
n[j]=a;
j++;
}
}
return 0;
}
int link_string(char *n,char *link_new)
{
int i,j,b=1;
char a;
for(i=0;;i++)
{
link_new[i]=n[i];
if(n[i]=='\0')
{ j=i; break; }
}
for(i=j;j-b>=0;i++) {
a=n[j-b]; b=b+1; link_new[i]=a;
}
link_new[2*j]='\0';
return 0;
}
int main()
{
char old[]="was it a bar or a bat i saw",n[20],link_new[39];
del_char(old,n);
link_string(n,link_new);
printf("第一个函数输出%s\n",n);
printf("第二个函数输出%s\n",link_new);
}