C语言实现删除字符串首尾的空格,中间的连续空格只留一个,原来字符串顺序不变
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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语言实现删除字符串首尾的空格,中间的连续空格只留一个,原来字符串顺序不变的主要内容,如果未能解决你的问题,请参考以下文章