zoukankan      html  css  js  c++  java
  • 过滤多余的空格

     1 #include <stdio.h>
     2 #include <string.h>
     3 char *process(char * s);
     4 int main(void)
     5 {
     6     char str[200];
     7     //char str[200] = "Hello      world.This is    c language.";
     8     char *s;
     9     
    10     gets(str);
    11     s = process(str);
    12     puts(s);
    13     
    14     return 0;
    15 }
    16 char *process(char *s)
    17 {
    18     char str_t[200];
    19     char *p1, *p2;
    20     
    21     strcpy(str_t, s);   //复制原字符串
    22     p1 = str_t;         //指向临时字符串的指针
    23     p2 = s;             //指向原来字符串的指针
    24     
    25     while (*p1) {
    26         if (*p1 != ' ') {
    27             *p2 = *p1;
    28             p1++;
    29             p2++;
    30         } else {
    31             *p2 = ' ';
    32             p1++;
    33             p2++;
    34             while (*p1 == ' ') {
    35                 p1++;
    36             }
    37         }
    38     }
    39     *p2 = '';
    40     
    41     return s;
    42 }

    参考老师的讲解,思考后重新编写。

     1 #include <stdio.h>
     2 
     3 void process(char *s1, char *s2);
     4 int main(void)
     5 {
     6     //char str1[201];     //str1是一个指向数组第一个元素的常量指针
     7     char str1[200] = "Hello      world.This is    c language.";
     8     char str2[201];
     9     
    10     //gets(str1);
    11     process(str1, str2);
    12     puts(str2);
    13     
    14     return 0;
    15 }
    16 //s1 = str1; s2 = str2
    17 void process(char *s1, char *s2)
    18 {
    19     char *p1, *p2;
    20     
    21     p1 = s1;
    22     p2 = s2;
    23     
    24     while (*p1) {
    25         if (*p1 != ' ') {
    26             *p2 = *p1;
    27             p1++;
    28             p2++;
    29         } else {
    30             //循环后,p1指向后面第一个不是空格的元素
    31             while (*p1 == ' ') {
    32                 p1++;
    33             }
    34             *p2 = ' ';
    35             p2++;
    36         }
    37     }
    38     *p2 = '';
    39 }
  • 相关阅读:
    Chrome浏览器设置默认编码
    linux上安装subversion
    详解Linux命令行下常用svn命令
    css 使容器宽度适应内容宽
    Windsor Spring
    T4 Generate POCO Class for MSSQ
    MSSQ 树型结构数据 循环操作
    System.Reflection.Emit 动态实现接口
    T4 SqlSugar MySql
    微信多开
  • 原文地址:https://www.cnblogs.com/2018jason/p/12915100.html
Copyright © 2011-2022 走看看