개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.25 06:42

strstr 함수 사용에 대한 도움을 요청합니다.

목록
  • 트랜잭션장인 6일 전 2025.05.25 06:42
  • 89
    1
제가 C 언어에서 strstr 함수를 사용하여 특정 문자열을 찾는 것을 배웠는데, 이 함수의 동작 방식이 이해되지 않습니다.

스트링의 비교는 스트링의 시작부터 시작되어야 하는 것인줄 알았는데, strstr 함수는 스트링의 비교를 특정 위치부터 시작한다는 것을 알게되었습니다.

아래 예시를 통해 이해를 도와주세요.

c

#include 

#include 



int main() {

    char str1[] = "Hello, World!";

    char str2[] = "World";



    char* result = strstr(str1, str2);



    if (result != NULL) {

        printf("'%s'는 '%s'에 포함되어 있습니다.n", str2, str1);

    } else {

        printf("'%s'는 '%s'에 포함되어 있지 않습니다.n", str2, str1);

    }



    return 0;

}



위 예시의 strstr 함수는 어떻게 동작하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  6일 전



    스트링의 비교는 스트링의 시작부터 시작되어야 하는 것처럼 보이지만, strstr 함수는 스트링의 비교를 특정 위치부터 시작한다는 것을 알게되었습니다.

    스트링의 비교를 특정 위치부터 시작하는 이유는 strstr 함수가 스트링 내의 모든 위치에서 문자열을 찾는 것이기 때문입니다.

    예를 들어, strstr 함수는 스트링의 시작부터 시작하여 문자열을 찾기 시작합니다. 만약 문자열이 발견되면, 함수는 그 위치를 반환합니다. 만약 문자열이 발견되지 않으면, 함수는 NULL을 반환합니다.

    위 예시의 strstr 함수는 다음과 같이 동작합니다.

    1. strstr 함수는 스트링의 시작부터 시작하여 "World" 문자열을 찾기 시작합니다.
    2. "World" 문자열이 발견되면, 함수는 그 위치를 반환합니다.
    3. 반환된 위치를 사용하여 "Hello, World!" 스트링 내의 "World" 문자열이 포함되어 있는지 확인합니다.
    4. "World" 문자열이 포함되어 있으면, 함수는 NULL이 아닌 값을 반환합니다.
    5. NULL이 아닌 값을 반환하면, 함수는 "Hello, World!" 스트링 내의 "World" 문자열이 포함되어 있음을 출력합니다.

    결과적으로, 위 예시의 strstr 함수는 "Hello, World!" 스트링 내의 "World" 문자열이 포함되어 있음을 출력합니다.

    2025-05-25 06:43

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 23,883건 / 11 페이지

검색

게시물 검색