关闭

判断IP地址是否有效

标签: 笔试
962人阅读 评论(0) 收藏 举报
分类:

IP的有效值是1.0.0.1~255.255.255.255,写个程序,参数是一个char*的IP,返回这个IP是否有效。


// IPcheck.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<iostream>
using namespace std;
//IP的有效值是1.0.0.1~255.255.255.255
bool checkIP(char* in);
int _tmain(int argc, _TCHAR* argv[])
{
	char*ip = "111.256.255.4";
	if (checkIP(ip))
		cout << "合法IP" << endl;
	else
		cout << "非法IP" << endl;
	system("pause");
	return 0;
}

bool checkIP(char* in)
{
	int k = 0;
	int sum = 0;
	while (*in != '\0')
	{
		while (*in != '.'&&*in != '\0')
		{
			int aa = *in - '0';
			if (aa < 0 || aa>9)
				return false;
			sum = 10 * sum + aa;
			++in;
		}
		if (*in != '\0')
			++in;
		++k;
		if (k == 2 || k == 3)
		{
			if (sum < 0 || sum > 255)
				return false;
		}
		if (k==1||k==4)
		{
			if (sum < 1 || sum > 255)
				return false;
		}
		if (k > 4)
			return false;
		sum = 0;
	}
	
	return true;
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:411223次
    • 积分:8415
    • 等级:
    • 排名:第2318名
    • 原创:448篇
    • 转载:61篇
    • 译文:0篇
    • 评论:49条
    最新评论