C语言中如何使用Index定位函数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
为诏安等地区用户提供了全套网页设计制作服务,及诏安网站建设行业解决方案。主营业务为网站设计制作、成都网站建设、诏安网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
数据结构中定位函数Index的使用方法
实现代码:
#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]虽是数组,在SubString中作为指针使用, //因位是指针,SString[0]存放实际数组的地址,使用时不用加*或&,直接传入数组的值 /*******************************声明部分****************************************/ Status StrAssign(SString T,char *chars); //生成一个其值等于chars的串T 第一个元素为字符串长度 int StrLength(SString S); //操作结果:返回S的元素个数,成为串的长度 int StrCompare(SString S,SString T); //操作结果:若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 /*******************************主函数部分**************************************/ 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; }
实现效果:
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。