面试题-判断IP是法合法
2015-12-01 00:24
337 查看
从网上找到一个比较简单的写法, 可能不够全面.
主要是用了函数 sscanf 来处理字符串, 不知道这样写, 是不是对题.
输出:
#include <stdlib.h> #include <stdio.h> #include <iostream> #include <time.h> using namespace std; bool isIpAddr(const char* ip) { bool bIp = true; int a1=0, a2=0, a3=0, a4=0; sscanf(ip, "%d.%d.%d.%d", &a1, &a2, &a3, &a4); // 判断是否全部为小于255的数字 if(a1 > 255 || a2 > 255 || a3 > 255 || a4 > 255) { bIp = false; return bIp; } // 判断是否全为0-9的数字,或点(.) while(*ip) { if(*ip != '.' && (*ip < '0' || *ip > '9')) { bIp = false; return bIp; } ip++; } return bIp; } int main() { char ip[256] = {"127.0.0.1"}; bool bIp = isIpAddr(ip); if(bIp) cout<<ip<<" is available ip!"<<endl; else cout<<ip<<" is not available ip!"<<endl; return 0; }
主要是用了函数 sscanf 来处理字符串, 不知道这样写, 是不是对题.
输出:
相关文章推荐
- 黑马程序员——Java类变量和成员变量初始化过程
- 黑马程序员——Java中的Enum的使用与分析
- 黑马程序员——java构造器的执行顺序
- 黑马程序员——自动装箱 拆箱的理解
- 程序员30岁后如何选择,当码农or转行?
- 在蜂窝教育里 找到了职业方向
- 黑马程序员——Java 中的 String 为什么是不可变的?
- 黑马程序员——解析Java中抽象类和接口的区别
- 牛客堂刷题(常见面试题精讲)之最长回文序列
- 黑马程序员——入门 java语言学习六大要点
- 黑马程序员——java中的类和方法的修饰符
- 左程云面试算法学习——1.使用双栈(stack),获取当前序列最小值
- 面试题-单链表的逆序
- 黑马程序员——java集合框架的理解
- 程序员的呐喊
- 黑马程序员——详细介绍Java 泛型的理解
- iOS面试题搜集(持续更新)
- java工程师面试题
- 黑马程序员——Java基础 ---反射
- 黑马程序员--File类