| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 701 人关注过本帖
标题:求哪位高手帮小弟看一下这个程序
只看楼主 加入收藏
康冬亮
Rank: 1
来 自:成都
等 级:新手上路
帖 子:32
专家分:2
注 册:2010-8-14
结帖率:85.71%
收藏
已结贴  问题点数:10 回复次数:7 
求哪位高手帮小弟看一下这个程序
程序的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号不删除。这个程序有问题  而且本身不是很懂,实在树上看到的 ,希望各位高手指点迷津   
#include <stdio.h>
#include <conio.h>  不知道这个头文件的作用是什么?
void fun(char *a,int n,int h,int e)
{
 int i ,j=0;
 for(i=h;i<n-e;i++)
 a[j++]=a[i];
 a[j]='\0';

}
void main()
{
 char s[81],*t,*f;
 int m,tn=0,fn=0;
 printf("enter a string :\n");
 gets(s);
 t=f=s;
 while(*t)   这段是什么意思呢?
{t++;m++;}
 t--;
 while(*t=='*'){t--;tn++;}
 while(*f=='*'){f++;fn++;}
 fun(s,m,fn,tn);
 printf("the string after deleted :\n");
 puts(s);
}
搜索更多相关主题的帖子: include 字符串 
2010-08-31 11:04
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
收藏
得分:2 
回答一:
conio.h不是C标准库中的头文件。   conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。
包含的函数:
cgets(char *);  
cprintf(const char *, ...);  
cputs(const char *);
cscanf(const char *, ...);
inp(unsigned short);   inpw(unsigned short);
getch(void);   getche(void);   kbhit(void);   
outp(unsigned short, int);   outpw(unsigned short, unsigned short);
putch(int);  
ungetch(int);  
void _Cdecl clreol (void);  
void _Cdecl clrscr (void);  
void _Cdecl delline (void);  
int _Cdecl gettext (int left, int top, int right, int bottom,   void *destin);   void _Cdecl gettextinfo (struct text_info *r);   
void _Cdecl gotoxy (int x, int y);  
void _Cdecl highvideo (void);   void _Cdecl insline (void);
void _Cdecl lowvideo (void);  
int _Cdecl movetext (int left, int top, int right, int bottom,   int destleft, int desttop);  
void _Cdecl normvideo (void);  
int _Cdecl puttext (int left, int top, int right, int bottom,   void *source);
void _Cdecl textattr (int newattr);   
void _Cdecl textbackground (int newcolor);  
void _Cdecl textcolor (int newcolor);   
void _Cdecl textmode (int newmode);  
int _Cdecl wherex (void);   
int _Cdecl wherey (void);  
void _Cdecl window (int left, int top, int right, int bottom);  
char *_Cdecl cgets (char *str);  
int _Cdecl cprintf (const char *format, ...);  
int _Cdecl cputs (const char *str);  
int _Cdecl cscanf (const char *format, ...);  
int _Cdecl getch (void);  
int _Cdecl getche (void);
char *_Cdecl getpass (const char *prompt);
int _Cdecl kbhit (void);  
int _Cdecl putch (int c);  
int _Cdecl ungetch (int ch);
回答二:while(*t)是指循环永远成立

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-08-31 11:18
康冬亮
Rank: 1
来 自:成都
等 级:新手上路
帖 子:32
专家分:2
注 册:2010-8-14
收藏
得分:0 
回复 2楼 sunyh1999
那这个程序呢里有问题呢?
2010-08-31 12:20
erikyo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:270
专家分:1154
注 册:2010-6-10
收藏
得分:2 
#include <stdio.h>
//#include <conio.h>        去掉也不影响,这不是一个标准库。里面是有关控制台io函数

void fun(char *a,int n,int h,int e)
{
    int i ,j=0;

    for(i=h;i<n-e;i++)
        a[j++]=a[i];
    a[j]='\0';

}
int main()
{
    char s[81],*t,*f;
    int m = 0,tn=0,fn=0;                    //变量m必须先初始化,不然里面存放的是无效值

    printf("enter a string :\n");
    gets(s);
    t=f=s;
    while(*t)                //遍历字符串,并且用m计算长度
    {
        t++;
        m++;
    }
    t--;                    //此时t指向字符串最后一个不为'\0'的字符

    while(*t=='*')            //计算字符串尾部的*个数
    {
        t--;
        tn++;
    }

    while(*f=='*')            //计算字符串开始出的*个数
    {
        f++;
        fn++;
    }
    fun(s,m,fn,tn);
    printf("the string after deleted :\n");
    puts(s);

    return 0;
}
2010-08-31 14:44
pkwangxinjun
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:45
专家分:170
注 册:2010-8-29
收藏
得分:2 
楼上解释得很清楚了  是这样的
2010-08-31 21:51
oldorab110
Rank: 1
等 级:新手上路
帖 子:13
专家分:4
注 册:2010-8-31
收藏
得分:2 
我不是高手也进来看了一下!没看明白!不知道{}[]()这三个括号到底代表什么!怎么用?
2010-08-31 22:20
康冬亮
Rank: 1
来 自:成都
等 级:新手上路
帖 子:32
专家分:2
注 册:2010-8-14
收藏
得分:0 
回复 4楼 erikyo
  原来如北  我明白了  谢谢啦
2010-09-01 22:21
Imtheone
Rank: 2
等 级:论坛游民
帖 子:78
专家分:34
注 册:2010-4-23
收藏
得分:0 
高手如云啊  呵呵 顶一下   来凑凑热闹
2010-09-01 23:28
快速回复:求哪位高手帮小弟看一下这个程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017544 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved