重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
C語言中如何使用Index定位函數(shù),很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
為詔安等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及詔安網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、詔安網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
數(shù)據(jù)結(jié)構(gòu)中定位函數(shù)Index的使用方法
實(shí)現(xiàn)代碼:
#include#include #include #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #define MAXSIZE 40 //最大字符串 typedef int Status; typedef char SString[MAXSIZE+1]; //此處聲明的SString[maxsize+1]雖是數(shù)組,在SubString中作為指針使用, //因位是指針,SString[0]存放實(shí)際數(shù)組的地址,使用時不用加*或&,直接傳入數(shù)組的值 /*******************************聲明部分****************************************/ Status StrAssign(SString T,char *chars); //生成一個其值等于chars的串T 第一個元素為字符串長度 int StrLength(SString S); //操作結(jié)果:返回S的元素個數(shù),成為串的長度 int StrCompare(SString S,SString T); //操作結(jié)果:若S>T,則返回值>0;若S = T,則返回值 =0;若S T[0] || len<0 || len>T[0]-pos+1) return ERROR; int ct,cnt; for(ct = 1,cnt = pos;cnt <= len+pos;ct++,cnt++){ Sub[ct]=T[cnt]; } Sub[0] = len+1; return OK; } int Index(SString S,SString T,int pos) { SString Sub; int i = pos; if(pos > 0){ int n = StrLength(S),m = StrLength(T); while( i<= n-m+1){ SubString(Sub,S,i,m-1); if(StrCompare(Sub,T)==0) return i; else i++; } }//if printf("不存在\n"); return 0; //S中不存在與T相等的子串 }//Index /*******************************主函數(shù)部分**************************************/ int main() { char *chars1 = "abcdefhg"; char *chars2 = "defhg"; SString S,T; StrAssign(S,chars1); StrAssign(T,chars2); int ANSWER = Index(S,T,1); printf("找到子串T在S中的位置 = %d\n",ANSWER); return 0; }
實(shí)現(xiàn)效果:
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。