#include <stdio.h>
int judge(char *strIp);
int main()
{
char a[];
while()
{
scanf("%s", a);
if( == judge(a))
{
printf("this is a correct ip\n");
}
}
} int judge(char *strIp)
{
   if(NULL == strIp)
   {
      return -1;
   }
//IP must start with 0-9
if(*strIp > '' || *strIp < '')
{
return -;
}
int num = ;
int dotNum = ;
do
{
if(*strIp >= '' && *strIp <= '')
{
num = * num + *strIp - '';
}
else if(('.' == *strIp) || ('\0' == *strIp))
{
//filter the string including '..' or ending with '.'
if('.' == *(strIp - ))
{
return -;
}
//filter the section number large than 255 or little than 0
if(num < || num > )
{
return -;
}
num = ;
//record the number of right dots
if('.' == *strIp)
{
dotNum++;
}
}
else
{
//Can't have chars excluding '0' - '9' and '.'
return -;
}
}while(*(strIp++)) if( == dotNum)
{
// ip is correct
return ;
}
else
{
//the string is too short for ip
return -;
} }

判断一个ip地址合法性(基础c,不用库函数)的更多相关文章

  1. 判断一个IP地址是否是本局域网内地址

    //        /// <summary>        /// 判断一个IP地址是否是本局域网内地址,是返回true 否则返回false,        /// </summa ...

  2. 判断一个ip地址是动态的还是静态的

    要确定计算机的IP是静态IP还是动态IP,请执行以下步骤: 通过单击开始打开命令提示符并搜索CMD,然后单击cmd.exe 键入ipconfig / all.  找到“以太网本地连接”列表.找到“ I ...

  3. 正式表达式判断私有 IP 地址

    正式表达式判断私有 IP 地址   ^1(((0|27)(.(([1-9]?|1[0-9])[0-9]|2([0-4][0-9]|5[0-5])))|(72.(1[6-9]|2[0-9]|3[01]) ...

  4. 使用二分查找判断某个数在某个区间中--如何判断某个IP地址所属的地区

    一,问题描述 给定100万个区间对,假设这些区间对是互不重叠的,如何判断某个数属于哪个区间? 首先需要对区间的特性进行分析:区间是不是有序的?有序是指:后一个区间的起始位置要大于前一个区间的终点位置. ...

  5. 一个域名最多能对应几个IP地址?,一个IP地址可以绑定几个域名?

    一个域名最多能对应几个IP地址?,一个IP地址可以绑定几个域名?谢谢 xikeboy | 浏览 31055 次 推荐于2016-04-24 14:21:14 最佳答案 1.也就是说通常情况下一个域名同 ...

  6. 转:php中判断某个IP地址是否存在范围内

    原文:php中判断某个IP地址是否存在范围内 //案例:判断192.168.1.127是否在 (192.168.1.1--192.168.1.255)的范围里面 $ip_start = get_ipl ...

  7. 客户也可以申请它使用的最后一个IP地址。如果该客户所在的网络中此IP仍然可用,服务器就可以准许该申请。

    http://baike.baidu.com/item/IP地址 公有地址 公有地址(Public address)由Inter NIC(Internet Network Information Ce ...

  8. 【翻译自mos文章】怎么正确的计算一个ip地址的subnet id?

    怎么正确的计算一个ip地址的subnet id? 来源于: How to calculate the correct subnet for an interface (文档 ID 1059759.1) ...

  9. IP地址的基础划分

    1.基础知识 1.1  IP地址是由网络号(net ID)与主机号(host ID)两部分组成的. 1.2  IP地址的分类 IP地址长度为32位,点分十进制(dotted decimal)地址: 采 ...

随机推荐

  1. c++学习笔记之多态和虚函数

    有了虚函数,基类指针指向基类对象时就使用基类的成员(包括成员函数和成员变量),指向派生类对象时就使用派生类的成员.换句话说,基类指针可以按照基类的方式来做事,也可以按照派生类的方式来做事,它有多种形态 ...

  2. 牛客 110D 矩阵

    假设$C=AB$, 那么答案就为 $\begin{align} \notag ans & =\sum\limits_{i=0}^{n-1}\sum\limits_{j=0}^{n-1}C[i] ...

  3. 怎样理解 Vue 项目的目录结构?

      Vue 项目的目录结构如下, 我们将会在后面逐个去了解它们的作用: 01. build - 存储项目构建相关的代码, 比如 webpack. 02. config - Vue 的配置目录,包括端口 ...

  4. 03docker镜像

    docker的镜像操作 Union文件系统是Docker镜像的基础. UnionFS(联合文件系统):Union文件系统是一种分层,轻量级并且高性能的文件系统.它支持对文件系统的修改作为一次提交来一层 ...

  5. 在Windows平台上运行Tomcat

    从之前的学习中知道,可以调用Bootstrap类将Toomcat作为一个独立的应用程序来运行,在Windows平台上,可以调用startup.bat批处理文件来启动Tomcat,或运行shutdown ...

  6. 异常-JDK7针对多个异常的处理方案

    package cn.itcast_02; /* * JDK7出现了一个新的异常处理方案: * try{ * * }catch(异常名1 | 异常名2 | ... 变量 ) { * ... * } * ...

  7. O043、计算节点宕机了怎么办

    参考https://www.cnblogs.com/CloudMan6/p/5562131.html   Rebuild 可以恢复损坏的instance .那如果是宿主机坏了怎么办呢?比如硬件故障或者 ...

  8. python之uWSGI和WSGI

    WSGI协议 首先弄清下面几个概念:WSGI:全称是Web Server Gateway Interface,WSGI不是服务器,python模块,框架,API或者任何软件,只是一种规范,描述web ...

  9. Redis之过期策略

    一.设置过期时间 Redis对存储值的过期处理实际上是针对该值的键(key)处理的,即时间的设置也是设置key的有效时间.Expires字典保存了所有键的过期时间,Expires也被称为过期字段. e ...

  10. 自定义事件 Event 、CustomEvent的使用

    通过Event和dispathEvents触发自定义事件 <span id="btn">获取</span> <script> var event ...