Chinaunix首页 | 论坛 | 博客
  • 博客访问: 140786
  • 博文数量: 66
  • 博客积分: 1571
  • 博客等级: 上尉
  • 技术积分: 715
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-24 22:55
文章分类

全部博文(66)

文章存档

2012年(66)

我的朋友

分类: C/C++

2012-07-11 16:17:49

int   maxContinuNum(const char *inputchar, char *outputchar)编写二段程序实现该函数,
实现返回一个以'\0'结束的字符串的最长的数字串的长度,并把该数字子串的地址赋给outputchar。
不能使用任何库函数或己经存在的函数,例如:在字符串“abc123abcdefl2345ahcdefgh123456789”中,
把该字符串的首地址赋值给inputchar返回9,outputchar指向字符串“123456789"一首地址

#include
int   maxContinuNum(const char *inputchar, char *outputchar);

int main()
{
 int len;
 char chArray[100];
 printf("please input the String!\n");
 gets(chArray);
 char *s=NULL;
 len=maxContinuNum(chArray,s);
 printf("长度=%d\n",len);
}
int maxContinuNum(const char *inputchar,char *outputchar)
{
 int length=0;
 int maxlen=0;
 while(*inputchar!='\0')
 {
  if(*inputchar>='1'&&*inputchar<='9')
   {
       length++;
    }
  else
   {
    if(maxlen     {
       maxlen=length;
       outputchar=(char*)(inputchar-maxlen); //const到非const须强制转换
                                       //边界控制很重要,
      }                            //多一个少一个很可能发生
    length=0;
   }
  inputchar++;
 }
 return maxlen;
}
阅读(3696) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~