这篇文章介绍的是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语言删除字符串中的空格的方法就分享到这里了,解决问题并不止文章中和大家分析的办法,不过本文分析的方法准确性是不容置疑的。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。