题目详情

阅读下列说明和C函数,填补函数中的空缺,将解答填入答案纸的对应栏目内。

函数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是不合法的。

初级程序员,章节练习,基础复习,案例分析

正确答案及解析

正确答案
解析

(1)ipaddr

(2)curval*10

(3)p++

(4)decNum++

(5)decNum==4&&dotNum==3

解析:此题判断IPV4地址是否合法,主要是判断其每个十进制数的大小和总个数以及“.”个数来进行判别。程序流程如下:

(1)使用中间指针p暂存操作数,故(1)中应填ipaddr。

(2)首先用isDigital函数判断是否为十进制数,是则保留值。指针移到地址的下一个字符。每找到一个十进制数都需要和前一次找到的值进行组合,即前一次的结果要乘以10,故(2)中应填curval*10。

(3)找到一个数字后,指针应后移以查看下一个字符,故(3)中应填p++。

(4)每找完一个完整数字和“.”都需要记录,所以要有decNum++和dotNum++,故(4)中应填decNum++。

(5)最后,如果IP地址正确,则返回1。其判断条件为找到4个范围正确的数和3个“.”。即(5)中应填decNum==4&&dotNum==3。

你可能感兴趣的试题

单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.0
  • B.1
  • C.2
  • D.3
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.1、1
  • B.1、2
  • C.2、2
  • D.2、3
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.3
  • B.4
  • C.5
  • D.6
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.V(S3)和V(S5)V(S6)
  • B.P(S3)和V(S5)V(S6)
  • C.V(S3)和P(S5)P(S6)
  • D.P(S3)和P(S5)P(S6)
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.243ms
  • B.246ms
  • C.254ms
  • D.280ms
查看答案

相关题库更多 +