c语言 输入一个字符串,删除该字符串中的所有空格并输出处理后的字符串

不要用指针,尽量简单点
2024-12-02 21:32:12
推荐回答(5个)
回答1:

int main()

{

char s[1024],c[1024];

int len,n=0,i;

char p,q;

p=s;q=c;

printf(“请输入字符串的长度:”);

scanf("%d",&len);

printf(“请输入一串字符串:”);

for(i=0;i

{

scanf("%c",p+i);

}

for(i=0;i

{

if((p+i)>=48&&(p+i)<=57||(p+i)>=97&&(p+i)<=122)

{

(q+n)=(p+i);

n++;

}

}

for(i=0;i

{

printf("%c",*(q+i));

}

}

c语言编程技巧

1、函数参数

在设计函数时,通常将目的参数放在前面,源参数放在后面。若可能,通过IN、OUT这样的宏定义来标注参数输入输出。

如果参数是指针,且仅作输入用,则应在类型前加const,以防止该指针在函数体内被意外修改。

2、函数中内存处理

(1)在函数中分配的内存,在函数退出之前要释放

(2)return语句不可返回指向“栈内存”的指针或者引用,因为该内存在函数体结束时被自动销毁。

回答2:

#include
#include
void main()
{
char str[20];
int i,j=0;
printf("输入字符串:\n");
gets(str);
for(i=0;iif(str[i]!=' ') str[j++]=str[i];
str[j]='\0';
puts(str);
}

回答3:

调用str_replace函数

#include
#include
void main()
{
char *a="1 2 3 4 5 6";
str_replace(*a,1," ",""));
puts(a);
}

回答4:

#include"stdio.h"
char p[50],*s=p-1;
main(int _){_?gets(p),main(0):*++s^32&&putchar(*s)&&main(0)||*s&&main(0);}

回答5:

#include

#include

void
main()
{
char
str[20];
int
i,j=0;
printf("输入字符串:\n");
gets(str);
for(i=0;iif(str[i]!='
')
str[j++]=str[i];
str[j]='\0';
puts(str);
}