A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© chad8753 中级黑马   /  2015-9-12 12:01  /  781 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#include <stdio.h>
#include <conio.h>
#include <string.h>


/**
* 除了字符串前导和尾部的*外,将字符串中的其他*号全部删除
*/


main()
{
        char *t, *f;
        void fun( char, char, char );


        char s[] = "*************jahdjw8e78a888****asdh88**JAHD88**hjdh*****";
        puts( s );
        printf( "%s\n", s );
        t = f = s;
        while ( *t )
                t++;
        t--;
/* 指向字符串的最后一个字母 */
        while ( *t == '*' )
                t--;
/* 指向字符串的第一个字母 */
        while ( *f == '*' )
                f++;
        printf( "%c,%c\n", *f, *t );
        fun( s, f, t );
        printf( "操作完之后的字符串:%s\n", s );
}


void fun( char *a, char *h, char *p )
{        //printf("ceshi");
        char        *b;
        int        i = 0;
        b = a;
        while ( b < h )
        {
                a[i] = * b;
                b++;
                i++;
        }

/* 继续遍历 */
        while ( b < p )
        {
                if ( *b != '*' )
                {
                        a[i] = *b;
                        i++;
                }
                b++;
        }
        while ( *b )
        {
                a[i] = *b;
                i++;
                b++;
        }
        a[i] = '\0';
}

1 个回复

正序浏览
fun函数在main函数中声明有问题

评分

参与人数 1黑马币 +10 收起 理由
chad8753 + 10 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马