//代码通过两个指针来实现一个字符串中去掉空格的功能
//第一种方式
第一种的做法是当p移动到一个空格的时候,q在其后面搜索,当搜索到一个不为空格的字符时就复制给p,赋值完后该位置就要变为空格
#include<stdio.h> int main() { char ch[20]; char *p=ch; char *q=ch; printf("请输入字符串:\n"); fgets(ch,sizeof(ch),stdin); while(*p!='\0'){ if(*p==' '){ q=p+1; while(*q!='\0'){ if(*q!=' '){ *p=*q; *q=' '; break; } else{ q++; } } } p++; } *p='\0'; printf("%s",ch); }
//第二种方式
#include<stdio.h> int main() { char ch[20]; char *p=ch; char *q=ch; printf("Input a string:\n"); fgets(ch,sizeof(ch),stdin); while(*p!='\0'){ if(*p!=' '){ *q++=*p; } p++; } *q='\0'; printf("%s",ch); return 0; }