**在多次提交過程中,出現了記憶體洩露,時間超限等很多問題;總結出以下幾點注意事項:
1.變數定義放在函式最前面,並初始化。
2.定義指標要分配空間,malloc和free都要有。
3.複製字串用 strnpy_s(des,dessize,sour,strlen(sour)); 這是安全版本。
4.分割字串用strtok_s,這是安全版本 char*next=null; strtok_s(s,」.」,&next); next不能少。
5.分情況討論要全面。**
#include
#include
bool isipaddressvalid(const
char* pszipaddr)
;char* next=null;
int i=0,j=0;
int len0=0,len1=0,len2=0,len3=0;
strncpy_s(input,400,pszipaddr,strlen(pszipaddr));
//////
//////
//////
//////
//////
//////
//////
////檢查非法字元
for(i=0;iif((input[i]=='.')||((input[i]<='9')&&(input[i]>='0'))||(input[i]==' ')) continue;
else
return
false;
}//////
//////
//////
//////
//////
//////
//////
////
i=0;
p=strtok_s(input,".",&next);
while(p!=null)
if(i!=4) return
false;
//////
//////
//////
//////
//////
//////
len0=(int)strlen(a[0]);
len1=(int)strlen(a[1]);
len2=(int)strlen(a[2]);
len3=(int)strlen(a[3]);
////1段判斷///
//////
//////
//////
//////
//////
////////
for(i=0;a[0][i]==' ';i++);
if(((len0-i)>3)||(len0==i))
return
false;//長度大於3
if(atoi(a[0])>255)
return
false;//大於255
if((a[0][i]=='0')&&(i!=len0-1))
return
false;//第乙個為0且不是單個0
for(j=i;jif(a[0][j]==' ') return
false;
}//中間有空格錯誤
////////2段判斷///
//////
//////
//////
//////
//////
//////
////////
if((len1>3)||(len1==0))
return
false;//長度大於3
if(atoi(a[1])>255)
return
false;//大於255
if((a[1][0]=='0')&&(len1!=1))
return
false;//第乙個為0且不是單個0
for(j=0;jif(a[1][j]==' ') return
false;
}//中間有空格錯誤
//////
////3段判斷///
//////
//////
//////
//////
//////
//////
////////
if((len2>3)||(len2==0))
return
false;//長度大於3
if(atoi(a[2])>255)
return
false;//大於255
if((a[2][0]=='0')&&(len2!=1))
return
false;//第乙個為0且不是單個0
for(j=0;jif(a[2][j]==' ') return
false;
}//中間有空格錯誤
//////
////4段判斷///
//////
//////
//////
//////
//////
//////
////////
if(atoi(a[3])>255)
return
false;//大於255
if(a[3][0]=='0')
}for(i=0;a[3][i]!=' ';)
if((i>3)||(i==0)) return
false;//長度大於3
for(j=i;jif(a[3][j]!=' ') return
false;
}free(input);
free(p);
return
true;
}
華為oj IP位址判斷有效性
判斷輸入的字串是不是乙個有效的ip位址 詳細描述 請實現如下介面 boolisipaddressvalid constchar pszipaddr 輸入 pszipaddr 字串 輸出 true 有效的ip位址,false,無效的ip位址 約束輸入ip為 格式 字串兩端含有空格認為是合法ip 字串中...
IP位址判斷有效性
描述 詳細描述 請實現如下介面 booli sipaddressvalid const char pszipaddr 輸入 pszipaddr 字串 輸出 true 有效的ip位址,false,無效的ip位址 約束輸入ip為 格式 字串兩端含有空格認為是合法ip 字串中間含有空格認為是不合法ip 類...
C 判斷IP位址有效性
功能 判斷ip位址是否有效 介面函式 booli sipaddressvalid const char pszipaddr 輸入 pszipaddr 字串 輸出 true 有效的ip位址,false,無效的ip位址 約束 1.輸入ip為 格式 2.字串兩端含有空格認為是合法ip 3.字串中間含有空格...