思路:

  1. 只包含3个点号;
  2. 第一个段的数据为1~255,其它段的数据为0~255;
  3. 除了数字和.号不能出现其它的字符
    #include<stdio.h>
    #include<ctype.h>
    int CountPoint(const char *str)     //计算点号个数
    {int count = 0;while (*str != '\0'){if (*str == '.'){count++;}str++;}return count;
    }//IP地址的规则是: (1~255).(0~255).(0~255).(0~255)
    /*1、只包含3个点号;*2、第一个段的数据为1~255,其它段的数据为0~255;*3、除了数字和.号不能出现其它的字符
    */
    bool IsLegalIP(const char *str)
    {int num = 0;if (str == NULL){return false;}if (CountPoint(str) != 3)   //点分十进制只含3个点号{return false;}if (str[0] == '0'){return false;}while (*str != '\0')        //循环结束的条件是遇见'\0'。{if (isdigit(*str)){num=num * 10 +*str - '0';}else if (*str != '.' || num > 255){return false;}else{num = 0;}str++;}if (num > 255)    //最后一个点分十进制需要额外小心{return false;}return true;
    }int main()
    {const char *str[] = { "192.168.1.1","1.0.0","1.0.0.0","256.1.2.1","192.1.1.256","192.09.09.10" };for (int i = 0; i<sizeof(str) / sizeof(str[0]); i++){if (IsLegalIP(str[i])){printf("%s 是合法的IP\n", str[i]);}else{printf("%s 不是合法的IP\n", str[i]);}}return 0;
    }
    

总结:每一个点分十进制段,非零的数字字符前面不得含有零字符。

并没有做到很完善,需要进一步修改。

运行结果

判断IP地址是否为合法的IP(初级版本)相关推荐

  1. 如何判断一个字符串是否为合法的IP地址。

    如何判断一个字符串是否为合法的IP地址. import java.util.Scanner;public class MyTest {public static void main(String[] ...

  2. java判断内网ip_Java判断IP地址为内网IP还是公网IP的方法

    本文实例讲述了Java判断IP地址为内网IP还是公网IP的方法.分享给大家供大家参考.具体分析如下: tcp/ip协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8 ...

  3. ip地址合不合法怎么看_下列哪个IP地址是不合法的()

    下列哪个IP地址是不合法的() 答:136.275.66.8 皮脂腺不能抑制细菌生长繁殖. 答:错 信用的特点有 答:在信用行为中出让的是使用权而不是所有权 信用是价值的单方面转移 是一种借贷行为 中 ...

  4. ip地址分类及预留ip地址大全

    现在的IP网络使用32位地址,以点分十进制表示,如172.16.0.0.地址格式为:IP地址=网络地址+主机地址 或 IP地址=主机地址+子网地址+主机地址. IP地址类型 最初设计互联网络时,为了便 ...

  5. 修改用友服务器ip地址,用友服务器ip地址更换

    用友服务器ip地址更换 内容精选 换一换 若用户想要更换Ubuntu服务器的IP地址,则Mind Studio安装使用的IP地址也要随之更换,方法如下:如果env.conf文件中的IP配置为Ubunt ...

  6. linux 修改ip地址_Day.19 变更IP地址

    一.怎么登陆交换机及服务器?去做网络和服务器配置? 登陆交换机和服务器的跳板不是一个. 登陆交换机的跳板机也是一个Linux服务器 1.ssh 交换机的跳板机(Linux服务器) ssh xxxxx ...

  7. win7系统怎么查看服务器IP地址,win7系统的ip地址在哪 小编教你怎么查看

    很多刚开端运用windows7系统的朋友不晓得w7的ip地址在哪.w7的ip地址在哪?小编教你怎样查看w7的ip地址.今天小编就带来了两种十分简单查看w7的ip地址的办法供大家学习.w7的ip地址在哪 ...

  8. android解析ip地址,android – 如何从IP地址解析网络主机名

    我正在研究基于wifi的聊天引擎,我能够通过跟随this链接检索连接到当前wifi网络的主机列表,现在获得了具有ip地址的设备列表但我需要来自ip地址的主机名并尝试以下 InetAddress ine ...

  9. 计算机IP地址pin,打印机的ip地址在机身上哪里,打印机的pin在哪看

    打印机的ip地址在机身上哪里,打印机的pin在哪看 时间:2021-04-19 10:38:04 打印机是我们日常工作中必备的公办用品,但是对于刚接触打印机的电脑小白来说,打印机的网络设置可不简单,比 ...

最新文章

  1. python 去掉文件头部几行_批量重命名文件的python代码
  2. java fastjson_java操作json数据之fastjson
  3. python tips(持续更新)
  4. linux 根据进程号查看对应的进程
  5. eclipse是否免费
  6. html_5_小作业2_世纪佳缘注册页面
  7. 神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python函数)
  8. mybatis plus实现多表分页条件查询
  9. R语言回归分析及相关分析
  10. 如何用OpenCV自带的adaboost程序训练并检测目标
  11. Pycharm和Anaconda中如何安装package
  12. 小程序开发,不现实用户的头像!
  13. 最小二乘法—多项式拟合非线性函数
  14. php挂马检测工具,网站挂马检测工具,网站被挂马在线检测工具 | 帮助信息-动天数据...
  15. Unity 2D打地鼠游戏
  16. 学区摇号软件设计_小升初:多校划片与单校划片,2020年小摇号最全解析!
  17. 刷新BIOS应该做的几件事
  18. 线上生成电子签名具体方法
  19. webrtc视频卡顿分析一本地视频卡顿
  20. 插件系统分析及Discuz插件实现

热门文章

  1. !HDU 1493 QQpet exploratory park-dp
  2. win11耳机和扬声器怎么分开控制音量?
  3. MySQL数据库-表的插入详解
  4. MoveIt-tutorial笔记
  5. powerbi中的earlier函数
  6. 力矩 torque详解
  7. UE4中使用第三方库Ⅱ
  8. 5GNR漫谈8:CSI-RS/TRS/SRS参考信号
  9. Linux内核学习系列(7)——execve与需求加载
  10. 这么多嵌入式设计创意,哪个你曾想过?