首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数isLegal(char*ipaddr)的功能是判断以点分十进制数表示的IPv4地址是否合法。参数ipaddr给出表示IPv4地址的字符串的首地址,串中仅含数字字符和“.”。若IPv4地址合法则返回1,否则返回0。判定为合法的条件是:每个十进制数的值位
函数isLegal(char*ipaddr)的功能是判断以点分十进制数表示的IPv4地址是否合法。参数ipaddr给出表示IPv4地址的字符串的首地址,串中仅含数字字符和“.”。若IPv4地址合法则返回1,否则返回0。判定为合法的条件是:每个十进制数的值位
admin
2018-04-19
83
问题
函数isLegal(char*ipaddr)的功能是判断以点分十进制数表示的IPv4地址是否合法。参数ipaddr给出表示IPv4地址的字符串的首地址,串中仅含数字字符和“.”。若IPv4地址合法则返回1,否则返回0。判定为合法的条件是:每个十进制数的值位于整数区间[0,255],两个相邻的数之间用“.”分隔,共4个数、3个“.”。例如,192.168.0.15、1.0.0.1是合法的,192.168.1.256、1.1.1是不合法的。
【C函数】
int isLegal(char*ipaddr)
{
int flag;
int curVal; //curVal表示分析出的一个十进制数
int decNum=0,dotNum=0;//decNum用于记录十进制数的个数
//dotNum用于记录点的个数
char*p= (1)__________;
for(;*p;p++) {
curVal=0;flag=0;
while(isdigit(*p)) { //判断是否为数字字符
curVal=(2)___________ +*p一'0';
(3)___________;
flag=1;
}
if(curVal>255){
return 0;
}
if(flag)f
(4)___________j
}
if(*p=’.’){
dotNum++;
}
}
if((5)__________){
return 1;
}
return 0;
}
选项
答案
(1)ipaddr (2)curVal*10或其等价形式 (3)p++或其等价形式 (4)decNum++或其等价形式 (5)4=decNum&&3=dotNum或其等价形式
解析
本题考查C程序的基本结构、运算逻辑和指针的简单应用。
函数isLegal(char*ipaddr)的功能是判断以点分十进制数表示的IPv4地址是否合法。
由于IPv4地址是以字符串的方式提供的,因此需要通过扫描字符串,解析出每个十进制数。
由于说明中已保证函数所处理的字符串中仅包含数字字符和“.”,因此代码的运算逻辑中不考虑其他字符。
在for语句中通过指针p来访问每个字符,所以空(1)所在语句需要将指针参数ipaddr的值赋给p。
一个整数可表示为一个多项式,例如198=1*10*10+9*10+8=((0+1)*10+9)*10+8,因此从左到右每得到l位数字,就进行一次计算,直到最后一位数字。在解析字符串中的一个整数时,先令curVal=0,此后每得到一位数字(即*p一’0’),就令curVal*l0+*p一’0’并用该表达式的值更新curVal,直到遇到一个“.”。空(2)处应填入“curVal*10”,空
(3)处应填入“p++”,以读取下一字符。
根据说明,需要对从字符串中解析出的整数进行计数,flag用来标识是否解析出一个整数,若是,则在空(4)处填入“decNum++”实现计数。若该整数超过255,则可以确定是非法的地址。
当完成字符串分析后,应该正好有4个[0,255]范围内的整数和分隔这些数的3个点(个数用dotNum表示),因此空(5)处应填入“4=decNum&&3=dotNum”或其等价形式。
转载请注明原文地址:https://www.kaotiyun.com/show/o2jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
双击某个非可执行程序的文件名将(24)。
操作系统的功能不包括______。
在Excel的A1单元格中输入函数“=IF(12,1,2)”,按回车键后,A1单元格中的值为()。
在Excel的A1单元格中输入函数“=6+16+MAX(16,6)”,按回车键后,A1单元格中显示的值为__________。
某学校一个教师可以讲授多门课程,一门课程也可以由多个教师讲授,则教师与课程之间的关系类型为()。
桌面上有各种图标,图标在桌面上的位置()。
程序员一般用(7)软件编写和修改程序。
此配置允许DHCP服务器分配给客户的地址范围是什么?#/sbin/chkconfig-level3dhcpdon命令的作用是什么?
请认真阅读下列有关Linux操作系统环境下配置成一台DNS服务器的说明信息,然后根据要求回答问题1至问题5。【说明】一台装有Linux操作系统的电脑,IP地址是“192.168.0.39’’,主机名是dnserver。现在要在这台电脑上配置成一台
从表1-1中为图1-1中(1)~(4)处选择合适设备名称(每个设备限选一次)。表1-2是路由器A上的地址变换表,将图1-2中(8)~(11)处空缺的信息填写在相应的位置。
随机试题
Butforyouradvice,I______itsosuccessfully.
A.胸骨左缘收缩期杂音B.奔马律C.肺动脉瓣区第2音亢进D.心尖部收缩期杂音E.心包磨擦音心力衰竭可伴有
当牙龈有中度炎症,探诊后出血,血渗在龈沟内,龈沟出血指数应为
A.黄酮B.香豆素C.蒽醌D.二萜E.木质素《中国药典》中,厚朴质量控制成分的结构类型是
职业健康安全管理体系中的术语“不符合”是指任何与工作标准、惯例、法规、管理体系绩效等的偏离,其结果能直接导致()。
陈祖培教授介绍。天津医科大学最近完成的一项国家自然科学基金重点项目——“必需微量元素过量(碘过量)对健康影响的研究”结果表明:目前食盐中加碘的浓度是碘的生理需要量,不会造成人群碘摄入过量,因此也不会造成因食用碘盐而形成的碘过量的公共卫生问题。碘浓度即使再增
下列对IEEE802.11b无线局域网的描述中,错误的是()。
______ifheiswillingtofitinwiththeplansofthegroup.
持续时间
A、Sendanemailtohim.B、Imposeanoverduefineonhim.C、Askhisroommatestogivehimamessage.D、Givethenoticetohistea
最新回复
(
0
)