zoukankan      html  css  js  c++  java
  • C 用strcmp来寻找主串中是否存在子串

    #include <stdio.h>
    #include <string.h>
    main() {
        char * str = "abcdefgh";
        char *pattern = "ku";
    
        char substr[100];//char型数据如果没有赋初值 默认值是0  不论是否是函数内还是全局变量
        //char数组也是如此   默认元素都是0
    
        //int数组和int一样  如果是在函数外定义的(也就是全局变量) 不初始化会有默认值0
        //但是int 以及 int数组 在函数中定义 是没有默认值的  它会是一个随机值s
        int arr[100]={1};//这里是将第一个元素初始化为1  且其它元素初始化为0
        //所以想要在定义int数组时 所有元素全部初始化为0 int arr[100]={0}
    
        int i=0;
        for (i = 0; str[i] != '\0'; i++) {//枚举字符串  //以a开头 b开头 c开头...
            int j = i;
            for (j = i; str[j] != '\0'; j++) {//a开头的字串又有不同长度 ab  abc  abcd...
                //截取字串  将新的子串放入到substr中
                initStr(substr,100);
                //i是开头 //j是末位
                int k;
                int index=0;
                for(index=0,k=i;k<=j;k++,index++){
                    substr[index]=str[k];
                    printf("%c",substr[index]);
                    if(strcmp(substr,pattern)==0){
                        printf("\n-----\n");
                    }
                }
                substr[++index]='\0';
                printf("\n");
    
            }
    
        }
    }
    
    void initStr(char substr[],int n){
        int i=0;
        for(;i<n;i++){
            substr[i]=0;
        }
    }
  • 相关阅读:
    BZOJ 3282: Tree( LCT )
    BZOJ 3713: [PA2014]Iloczyn( 枚举 )
    HDU3974
    CodeForces220B
    POJ2349
    HDU3038
    POJ1611
    IELTS
    POJ1125
    POJ2109
  • 原文地址:https://www.cnblogs.com/cart55free99/p/2976225.html
Copyright © 2011-2022 走看看