删除字符串中的空格不借用库函数,自己写了一个可是调试不成功,帮帮忙!
我写的这段代码,在调用的函数里面能成功打印出来,但是在主函数里面就不行
什么情况,是什么原因?
代码如下:
#include <stdio.h>
#include <string.h>
#define LIM 20
char * Del_str (char *str, int n);
int main (void)
{
char str[LIM] = "The C language";
char *p;
int n;
n = strlen (str);
p = Del_str (str, n-1);
puts (p);
return 0;
}
char * Del_str (char *str, int n)
{
char str2[LIM];
char *p = str2;
int i = 0;
for (i = 0; i < n;)
{
if (*str != ' ')
str2[i++] = *str;
*str++;
}
str2[i] = '\0';
//puts (str2);
return p;
}
#include <stdio.h>
#include <string.h>
#define LIM 20
char * Del_str (char *str, int n);
int main (void)
{
char str[LIM] = "The C language";
char *p = new char[LIM];
int n;
n = strlen (str);
p = Del_str (str, n-1);
puts(p);
return 0;
}
char* Del_str (char *str, int n)
{
static char str2[LIM];
static char *p = str2;
int i = 0;
for (i = 0; i < n;)
{
if (*str != ' ')
str2[i++] = *str;
*str++;
}
str2[i] = '\0';
puts(str2);
printf("%s\n",p);
puts(p);
return p;
}