一道面试题
题目:写一个函数,检查一个字符串是不是有效的IP地址
函数:int is_valid_ip( char s_ip );
返回值:
0 :not IP
1 :is IP
同时,写一段测试代码用于测试你的函数。
问题点数:100、回复次数:8Top
1 楼master_ttch(再见理想)回复于 2005-04-02 20:19:06 得分 0
,,,
去技术区吧Top
2 楼master_ttch(再见理想)回复于 2005-04-02 20:22:44 得分 50
别人写的例子
你看看
function checkIP2(sIPAddress)
{
var exp=/^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$/;
var reg = sIPAddress.match(exp);
var ErrMsg="你输入的是一个非法的IP地址段! IP段为::xxx.xxx.xxx.xxx(xxx为0-255)!"
var Msg="你输入的是一个合法的IP地址段!"
if(reg==null)
{
alert(ErrMsg);
}
else
{
alert(reg);
}
}Top
3 楼creater(寻常不见面,偶尔露狰狞!)回复于 2005-04-02 20:22:49 得分 25
int is_valid_ip( char s_ip )
{
if(is(ip))
return 1;
else
retrun 0:
}
:)Top
4 楼master_ttch(再见理想)回复于 2005-04-02 20:23:41 得分 0
.........Top
5 楼wangjianddy(~~~~>_<~~~~)回复于 2005-04-02 20:27:37 得分 0
int is_valid_ip(char s_ip)
{
return creater(寻常不露面,偶尔露狰狞!) ::is_valid_ip( char s_ip );
}Top
6 楼coldcrane(清风明月)回复于 2005-04-02 20:37:55 得分 0
题目:写一个函数,检查一个字符串是不是有效的IP地址
函数:int is_valid_ip( char* s_ip );
返回值:
0 :not IP
1 :is IP
同时,写一段测试代码用于测试你的函数。Top
7 楼creater(寻常不见面,偶尔露狰狞!)回复于 2005-04-02 20:53:01 得分 25
int is_valid_ip( char* s_ip )
{
char * p=s_ip
char aa;
for(int j=1;j<4;j++)
{
int temp=0;
for(int i=0;*p!='.'&& *p!='\0';i++,p++)
{
aa=*p;
aa转为整形(记不清函数了)
temp=temp*10+aa;
}
if(temp>255) return 0;
}
return 1;
}
好久没写C语言了,好多东西忘了,不过思路应该是这样的吧:)Top
8 楼coldcrane(清风明月)回复于 2005-04-03 12:28:01 得分 0
我的答案:
int is_valid_ip( char *sIP )
{
int ret = 1;
int ip[4] = {0,};
char tmp[2] = 0;
int num = sscanf( sIP, "%d.%d.%d.%d%1s", &ip[0], &ip[1], &ip[2], &ip[3], tmp );
if( num == 4 )
{
for( int i=0; i<4; i++ )
{
if( ip[i]<0 || ip[i]>255 )
{
ret = 0;
break;
}
}
}
else
{
ret = 0;
}
return ret;
}Top




