6.7作业 用字符数组实现删除字符串中的所有空格

大E+ 2019-06-07 01:09:27
#include <stdio.h> #include <string.h> char *DeleteBlank(char *src) { char *p = src; int i,j; for(i=0;src[i];i++) { if(src[i]==' ') { for(j = i; src[j]; j++) src[j] = src[j+1]; i--; } } return p; } int main () { char s[128] = {0}; scanf("%[^\n]",s); printf("%s\n",DeleteBlank(s)); return 0; }
...全文
402 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
自信男孩 2019-06-10
  • 打赏
  • 举报
回复
#include<stdio.h>
#include<string.h>

void fun(char *a)
{
int i=0, j=0;
for (i = 0; i < strlen(a); i++) {
if (a[i] != ' ')
a[j++] = a[i];
}
a[j] = 0;
}

int main()
{
char a[] = "D x s 独 家 放 送";
fun(a);
printf("finally:\n%s",a);
getchar();
return 0;
}

可以把代码再精简一些
大E+ 2019-06-10
  • 打赏
  • 举报
回复
#include<stdio.h> #include<string.h> void fun(char *a) { int i=0, j=0; for (i = 0; i < strlen(a); i++) { if (a[i] != ' ') { a[j++] = a[i]; } else if(a[i]==' '){ continue; } } a[j] = '\0'; //在数组最后面加上字符串结束符'\0' } int main() { char a[] = "D x s 独 家 放 送"; fun(a); printf("finally:\n%s",a); getchar(); return 0; }
Italink 2019-06-07
  • 打赏
  • 举报
回复

#include <stdio.h>
#include <string.h>

char* DeleteBlank(char* src)
{
	int i = 0, len = 0;
	do {
		if (src[i] != ' ')
			src[len++] = src[i];
	} while (src[i++] != '\0');
	return src;
}
int main(){
	char s[128] = { 0 };
	scanf("%[^\n]", s);
	printf("%s\n", DeleteBlank(s));
	return 0;
}

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧