提高项目30.6-删除字符串前面的空格
2016-07-11 21:53
357 查看
任务和代码:去除句子中第一个单词前的空格,返回去除了空格的字符串
/*
文件名:main.c
作者:小风景
完成日期:2016.7.11
问题描述: 去除句子中第一个单词前的空格,返回去除了空格的字符串
程序输出:
*/
#include <stdio.h>
void ptrim(char *str);
int main(void)
{
char s[81]=" Some spaces before the first word. ";
printf("原句子:\"%s\"\n", s);
ptrim(s);
printf("去除前导空格后为:\"%s\"\n", s);
return 0;
}
void ptrim(char *str)
{
char *p = NULL;
p = str;
//将字符串前面的所有空格跳过
while(*p == ' ')
{
p++;
}
//跳过空格后,将字符串复制进入str中,覆盖先前的字符
while(*p != '\0')
{
*(str++) = *(p++); //需要注意
}
//当需要覆盖的字符串覆盖完毕后,输入结束符表示结束,输出时到结束符为止
*str = '\0';
}
程序运行结果:
总结:在while字符串复制时需要注意指针p++,如果指针p不进行移动,则while循环会变为死循环,直到写满字符串的空间,非法对其他空间操作。
/*
文件名:main.c
作者:小风景
完成日期:2016.7.11
问题描述: 去除句子中第一个单词前的空格,返回去除了空格的字符串
程序输出:
*/
#include <stdio.h>
void ptrim(char *str);
int main(void)
{
char s[81]=" Some spaces before the first word. ";
printf("原句子:\"%s\"\n", s);
ptrim(s);
printf("去除前导空格后为:\"%s\"\n", s);
return 0;
}
void ptrim(char *str)
{
char *p = NULL;
p = str;
//将字符串前面的所有空格跳过
while(*p == ' ')
{
p++;
}
//跳过空格后,将字符串复制进入str中,覆盖先前的字符
while(*p != '\0')
{
*(str++) = *(p++); //需要注意
}
//当需要覆盖的字符串覆盖完毕后,输入结束符表示结束,输出时到结束符为止
*str = '\0';
}
程序运行结果:
总结:在while字符串复制时需要注意指针p++,如果指针p不进行移动,则while循环会变为死循环,直到写满字符串的空间,非法对其他空间操作。
相关文章推荐
- android 代码实现控件之间的间距
- 如何组织构建多文件 C 语言程序(二)
- [Android]在代码里运行另一个程序的方法
- 如何写好 C main 函数
- 肯特·贝克:改变人生的代码整理魔法
- 网页恶意代码的预防
- Mootools 1.2教程 函数
- autoit InputBox 函数
- 文件遍历排序函数
- 高手写的Tracer-Flash代码调试类代码下载
- 关于C#中排序函数的总结
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- CSS代码缩写技巧
- 非主流Q-zOne代码代码搜集第1/2页
- ASP下经常用的字符串等函数参考资料
- CreateWeb.vbs 代码
- PostgreSQL教程(五):函数和操作符详解(1)
- DOS批处理 函数定义与用法
- asp Chr 函数 数字转字母的方法
- Lua中的函数精讲笔记