机器|C语言-删除字符串空格

机器|C语言-删除字符串空格


①目标
要删除字符串中的所有空格 ,
就要筛选出空格字符 。
要筛选 , 就要对首字符做标记 。
要所有空格 , 就要遍历 。
~
②命令行
#include< stdio.h>
#include< stdlib.h>
#include< ctype.h>
~
③定义函数
void fun(char *str)
{int i=0;
char *p;
/*标记:p=str表示指针指向字符串首地址做标记*/
for(p=str;*p!='\\0';p++)
/*遍历:不等于'\\0'表示只要字符串不结束 , 就一直p++ 。 */
if(*p!=' ')str[i++
=*p;
/*删除:如果字符串不等于空格 , 即有内容就存入字符串 。 等于空格就不储存 , 但是指针还是p++继续后移 , 跳过储存空格相当于删除 。 */

void fun(char *str)
{int i=0;
char *p=str;
while(*p)
{if(*p!=' ')str[i++
=*p;
p++;
/*除了for循环遍历 , 也可while循环遍历 。 注意 p++在if语句后 , 不然会漏掉第一个字符 。 */
str[i
='\\0';
/*循环完毕要主动添加'\\0'结束字符串 。 */
~
④主函数
viod main()
{char str[100
;
int n;
printf(\"input a string:\");
get(str);
puts(str);
/*输入输出原字符串*/
fun(str);
/*利用fun函数删除空格*/
【机器|C语言-删除字符串空格】printf(\"str:%s\\"str);