这篇文章介绍的是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语言删除字符串中的空格的方法就分享到这里了,解决问题并不止文章中和大家分析的办法,不过本文分析的方法准确性是不容置疑的。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。