CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  扩充话题 >  灌水乐园

一道面试题

楼主coldcrane(清风明月)2005-04-02 20:15:40 在 扩充话题 / 灌水乐园 提问

题目:写一个函数,检查一个字符串是不是有效的IP地址  
  函数:int   is_valid_ip(   char   s_ip   );  
  返回值:  
              0   :not   IP  
              1   :is   IP  
   
  同时,写一段测试代码用于测试你的函数。  
  问题点数:100、回复次数:8Top

1 楼master_ttch(再见理想)回复于 2005-04-02 20:19:06 得分 0

,,,  
  去技术区吧Top

2 楼master_ttch(再见理想)回复于 2005-04-02 20:22:44 得分 50

别人写的例子  
  你看看  
  function   checkIP2(sIPAddress)  
  {  
          var   exp=/^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$/;  
          var   reg   =   sIPAddress.match(exp);  
          var   ErrMsg="你输入的是一个非法的IP地址段!   IP段为::xxx.xxx.xxx.xxx(xxx为0-255)!"          
          var   Msg="你输入的是一个合法的IP地址段!"          
          if(reg==null)  
          {  
                  alert(ErrMsg);  
          }  
          else  
          {  
                  alert(reg);  
          }  
  }Top

3 楼creater(寻常不见面,偶尔露狰狞!)回复于 2005-04-02 20:22:49 得分 25

int   is_valid_ip(   char   s_ip   )  
  {  
        if(is(ip))  
          return   1;  
        else  
          retrun   0:  
  }  
   
   
  :)Top

4 楼master_ttch(再见理想)回复于 2005-04-02 20:23:41 得分 0

.........Top

5 楼wangjianddy(~~~~>_<~~~~)回复于 2005-04-02 20:27:37 得分 0

int   is_valid_ip(char   s_ip)  
  {  
        return   creater(寻常不露面,偶尔露狰狞!)   ::is_valid_ip(   char   s_ip   );  
  }Top

6 楼coldcrane(清风明月)回复于 2005-04-02 20:37:55 得分 0

题目:写一个函数,检查一个字符串是不是有效的IP地址  
  函数:int   is_valid_ip(   char*   s_ip   );  
  返回值:  
              0   :not   IP  
              1   :is   IP  
   
  同时,写一段测试代码用于测试你的函数。Top

7 楼creater(寻常不见面,偶尔露狰狞!)回复于 2005-04-02 20:53:01 得分 25

int   is_valid_ip(   char*   s_ip   )  
  {  
      char   *   p=s_ip  
      char   aa;  
      for(int   j=1;j<4;j++)  
      {  
            int   temp=0;  
            for(int   i=0;*p!='.'&&   *p!='\0';i++,p++)  
            {  
                aa=*p;  
                aa转为整形(记不清函数了)  
                temp=temp*10+aa;  
            }  
   
            if(temp>255)   return   0;  
        }  
        return   1;  
  }  
   
  好久没写C语言了,好多东西忘了,不过思路应该是这样的吧:)Top

8 楼coldcrane(清风明月)回复于 2005-04-03 12:28:01 得分 0

我的答案:  
   
  int   is_valid_ip(   char   *sIP   )  
  {  
  int   ret   =   1;  
  int   ip[4]   =   {0,};  
  char   tmp[2]   =   0;  
  int   num   =   sscanf(   sIP,   "%d.%d.%d.%d%1s",   &ip[0],   &ip[1],   &ip[2],   &ip[3],   tmp   );  
  if(   num   ==   4   )  
  {  
  for(   int   i=0;   i<4;   i++   )  
  {  
  if(   ip[i]<0   ||   ip[i]>255   )  
  {  
  ret   =   0;  
  break;  
  }  
  }  
  }  
  else  
  {  
  ret   =   0;  
  }  
  return   ret;  
  }Top

相关问题

  • 一道面试题
  • 一道面试题????
  • MICROSOFT 面试题一道
  • 一道面试题
  • 一道面试题!
  • 一道面试题
  • 一道面试题
  • 一道面试题
  • 一道面试题
  • 一道面试题

关键词

  • 函数
  • ip
  • valid
  • ip地址
  • xxx
  • ret
  • dd
  • reg
  • char
  • else

得分解答快速导航

  • 帖主:coldcrane
  • master_ttch
  • creater
  • creater

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo