崩溃啦!程序高手进来看看这题!!

来源:百度知道 编辑:UC知道 时间:2024/05/18 09:59:00
有一道判断IP地址正误的题。一个正确的IP格式是形如192.168.0.122 的地址,它由四个从0~255的数字和分隔符'.',来组成,数字不包含前导零,一个IP地址中不包含有其它的字符
这些就是其中的一些错误样例:
(1)192.168.00.123 它的数字包含了前导0
(2)192.16b.0.123 包括了非法字符'b'
(3)192.168.256.123 256超过了数字的范围。
(4)123.34.12
(5)....
(6)123..34.5
判断这些情况的错误样例我的程序都能解决,可就是还是过不了,证明还有些情况我没考虑进去,哭死我啦!
请高手们帮忙想想还有什么IP地址的错误情况呢????
不好意思,一楼到四楼的回答我都已经考虑啦,请问还有没有??超怪异的非法情况??

题目的原地址在哪里?别人做了,也好先试试能不能过嘛。

全是0或者255的地址是不可以用的,指点你考虑了吗?

给你提供个思路
用strtok()函数,用 。号分割IP地址字符串
然后把四个值存入数组
然后再检测
必须是数字用 Isdigit()函数
在0-255直接,判断一下
等等……

.1.1.1
1.1.1.
1.1.1..

先判断每个字符都属于[.0~9]
再判断总长度<=15
再判断点的个数==3
再判断是否能取四个整数出来
再判断每个是否合法

完毕