阅读下列说明和C函数,填补函数中的空缺,将解答填入答案纸的对应栏目内。
【说明】
函数isLegal(char*ipaddr)的功能是判断以点分十进制数表示的IPV4地址是否合法。参数ipadddr 给出表示IPV4地址的字符串的首地址,串中仅含数字字符和“.”。若IPV4地址合法则返回1,否则返回0。判定为合法的条件是:每个十进制数的值位于整数区间[0,255],两个相邻的树之间用“.”分隔,共4个数、3个“.”。例如,192.168.0.15、1.0.0.1是合法的,192.168.1.256、1.1..1是不合法的。
【函数】
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)﹛
( 4 )
﹜if(*p=’.’﹛
dotNum++;
﹜
﹜
if (( 5) )﹛
return 1;
﹜
return 0;
﹜