閱讀下列說明和C函數,填補函數中的空缺,將解答填入答案紙的對應欄目內。
【說明】
函數isLegal(char*ipaddr)的功能是判斷以點分十進制數表示的IPV4地址是否合法。參數ipadddr 給出表示IPV4地址的字符串的首地址,串中僅含數字字符和“.”。若IPV4地址合法則返回1,否則返回0。判定為合法的條件是:每個十進制數的值位于整數區(qū)間[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;
﹜