字符串比较

图片来源moocC语言程序设计进阶-第一周测试

截图.png
//字符串比较
#include<stdio.h>
#include<string.h>

int main(){
    char ch1[10000];//字符串1 
    char ch2[10000];//字符串2 
    int j=0;//数组匹配程度标志 
    
     
    //读入字符串 
    gets(ch1); 
    gets(ch2);
    
    //定义两个指针分别指向两个数组首地址 
    char *p1 = ch1;
    char *p2 = ch2; 
    
    int count=0;//记录p2所知数组下标,它随p2增减而增减 
    
    
    while(*p2!='\0'){//如果 p2未移到字符串尾继续执行
     
        for(int i = 0; i<strlen(ch1);i++){//每一个比较的长度都是数组ch1的长度 
             
             //如果p2和p1所指字符相同则指针都移向下一个字符  
            if(*p2-*p1==0){ 
                
                p1++;
                p2++;
                count++;
            } else{ 
                //两指针所指字符不同,则p2移至下一个字符;
                //p1回到ch1的首地址 
                p2++;
                count++;
                p1=ch1;
                break;
            }
            
            /*
                p1指针到达串尾,则将p1指向ch1首地址
                输出p2所在位置的下标减去p1ch1长度的值
                p2这一轮未与p1比较的位置的后一位 
            */ 
            
            if(i==strlen(ch1)-1){   
                p1=ch1;
                printf("%d ",count-strlen(ch1));
                p2-=i;
                count-=i;
                j++;
                
            }
            
        }
    
    }
     
    if(j==0){//两个数组不匹配输出-1 
        count=-1;
        printf("%d",count);
    }
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容