1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C语言--使用指针实现删除字符串中的空格

C语言--使用指针实现删除字符串中的空格

时间:2019-06-20 00:43:44

相关推荐

C语言--使用指针实现删除字符串中的空格

本篇主要实现了在C语言使用指针实现删除字符串中的空格,详细内容见下面代码,主要利用指针遍历所得到的字符串,使用一个指针指向字符串首地址,判断其是否为空格,如果是则定义一个临时指针,并遍历之后的所有字符,依次往前移动,如果不是则使指针指向加1,遍历完全部之后打印出新得到的数组,即可实现删除空格的作用。

#include <stdio.h>#define N 10int main(int argc,const char *argv[]){char str[N]={'\0'};char *pStr = str;printf("Please input string:\n");gets(pStr);while(*pStr){//判断*pStr是否为空格if(' '==*pStr){//定义一个临时指针,接替pStr目前的位置char *pTemp = pStr;//将空格之后的所有字符全部往前移动一个位置while(*pTemp){*pTemp = *(pTemp+1);pTemp++;}}else{//和上面的if语句必须构成选择的关系//原因:执行if之后意味着存在将后面整体移动一个位置//但是不能保证覆盖空格的位置的字符是不是依旧是空格//故:不应该让pStr++,还需再次判断赋值过来的字符//直到赋值过来的字符不是空格则往后再次遍历pStr++;}}printf("删除之后:");pStr = str;puts(pStr);return 0;}

总结:具体操作挺简单的,主要是使用到了指针遍历,核心在于执行if之后意味着存在将后面整体移动一个位置,但是不能保证覆盖空格的位置的字符是不是依旧是空格,故:不应该让pStr++,还需再次判断赋值过来的字符,赋值过来的字符不是空格则往后再次遍历。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。