6 - 5 문자열 - 6. 하위 문자열 찾기 (BF 알고리즘) * (12 점)
1190 단어 데이터 구조
C 언어 표준 함수 라 이브 러 리 에는 strstr 함수 가 포함 되 어 있 으 며, 메 인 문자열 에서 하위 문자열 을 찾 습 니 다.연습 으로 우 리 는 그것 과 같은 기능 을 가 진 함 수 를 직접 만 들 었 다.
함수 원형 / / 하위 문자열 char * StrStr 찾기 (const char * txt, const char * pat);설명: txt 와 pat 는 각각 주 문자열 과 하위 문자열 의 시작 주소 입 니 다.검색 에 성공 하면 함수 값 은 하위 문자열 이 주 문자열 에 처음 나타 나 는 시작 주소 입 니 다. 그렇지 않 으 면 편지 값 은 NULL 입 니 다.
특히, 우 리 는 C 언어 라 이브 러 리 함수 strstr 를 적 절 히 수정 합 니 다. 하위 문자열 이 빈 문자열 이면 의미 가 없고 함수 값 은 NULL 로 규정 합 니 다.
심판 절차 \ # include
/ / 하위 문자열 char * StrStr (const char * txt, const char * pat) 찾기;
int main() { char m[1024], s[1024], *p; gets(m); gets(s); p = StrStr(m, s); if § { printf("%d", p - m); } else { puts(“Null”); } return 0; }
/ * 당신 이 제출 한 코드 는 여기에 박 혀 있 습 니 다 * / 입력 샘플 1 This is a pencil is 출력 샘플 1 2 입력 샘플 2 This is a pencil be 출력 샘플 2 Null
char* StrStr(const char *txt, const char *pat)
{
char *p=(char *)txt;
char *q=(char *)pat;
int l1=0,l2=0,i=0,j=0;
while(txt[l1]!='\0') l1++;
while(pat[l2]!='\0') l2++;
i=0,j=0;
if(l2<=0)
return NULL;
while(i=l2)
return p+(i-l2);
return NULL;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.