閱讀下列說明和C函數(shù),填補函數(shù)中的空缺,將解答填入答案紙的對應欄目內(nèi)。
【說明】
函數(shù)isLegal(char*ipaddr)的功能是判斷以點分十進制數(shù)表示的IPV4地址是否合法。參數(shù)ipadddr 給出表示IPV4地址的字符串的首地址,串中僅含數(shù)字字符和“.”。若IPV4地址合法則返回1,否則返回0。判定為合法的條件是:每個十進制數(shù)的值位于整數(shù)區(qū)間[0,255],兩個相鄰的樹之間用“.”分隔,共4個數(shù)、3個“.”。例如,192.168.0.15、1.0.0.1是合法的,192.168.1.256、1.1..1是不合法的。
【函數(shù)】
int isLegal (char*ipaddr)
﹛
int flag;
int curVal; //curVal 表示分析出的一個十進制數(shù)
int decNum=0,dotNum=0; //decNum 用于記錄十進制數(shù)的個數(shù)
//dotNum 用戶記錄點的個數(shù)
char*p=( 1 );
for(;*p;p++) ﹛
curVal=0;flag=0
while (isdigit(*p))﹛ //判斷是否偉數(shù)字字符
curVal=( 2 )+*p-’0’;
( 3 )
flag=1;
﹜
if(curVal>255)﹛
return 0;
﹜
if (flag)﹛
( 4 )
﹜if(*p=’.’﹛
dotNum++;
﹜
﹜
if (( 5) )﹛
return 1;
﹜
return 0;
﹜