码迷,mamicode.com
首页 > 编程语言 > 详细

C语言实现删除字符串首尾的空格,中间的连续空格只留一个,原来字符串顺序不变

时间:2019-08-27 23:19:20      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:ring   code   print   顺序   ++   指针   实现   c语言实现   字符   

#include<stdio.h> #include<string.h> char * deblank(char * str) { char * left = str;//前面的指针,负责赋值 char * right = str;//后面寻找非空格字符的指针 while (*right)//截至字符串完 { if (*right != ‘ ‘) { if (left<right) { *left = *right;//赋值 } left++; } if (*right == ‘ ‘&&*(right + 1) != ‘ ‘)//寻找到下一个单词时,对left的操作 { *left = ‘ ‘; left++; } right++; } *left = ‘\0‘; return *str != ‘ ‘ ?str:(str + 1);//防止首单词之前有空格现象 } int main() { char str[] = " as adadq k "; char *a = deblank(str); int i; for (i = 0; i < strlen(a); i++) { printf("%c",*(a+i));//输出流 } return 0; }

C语言实现删除字符串首尾的空格,中间的连续空格只留一个,原来字符串顺序不变

标签:ring   code   print   顺序   ++   指针   实现   c语言实现   字符   

原文地址:https://blog.51cto.com/14233078/2433103

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!