개발자 Q&A

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

2025.04.07 19:26

scanf()와 sscanf의 차이점

목록
  • DNS마스터 1일 전 2025.04.07 19:26
  • 1
    1
안녕하세요 선생님,
scanf()와 sscanf의 차이점을 알고 싶습니다.

scanf()는 문자열을 인자로 받아서 변수에 저장하는 함수입니다.
예를 들어, "%d %c %s" 형식의 scanf()를 사용하면 정수, 문자, 문자열을 저장할 수 있습니다.

반면에 sscanf()는 문자열을 인자로 받아서 변수에 저장하는 함수입니다.
예를 들어, "123 a string" 형식의 문자열을 sscanf()를 사용하면 정수, 문자, 문자열을 저장할 수 있습니다.

하지만, scanf()와 sscanf()를 사용할 때는 형식 문자열을 정확하게 입력해야 합니다.
형식 문자열이 정확하지 않으면 오류가 발생할 수 있습니다.

선생님, scanf()와 sscanf()의 차이점과 사용 예시를 알려주세요.

    댓글목록

    profile_image
    나우호스팅  1일 전



    scanf()와 sscanf()의 차이점은 scanf()가 표준 입력(stream)에서 문자열을 읽는 반면, sscanf()는 문자열 내에서 문자열을 읽는 것입니다.

    scanf()를 사용할 때는 scanf() 함수를 호출할 때마다 scanf()가 읽어들이는 데이터가 어디에 저장될지 명시해야 합니다. 하지만 sscanf()를 사용할 때는 sscanf() 함수를 호출할 때마다 sscanf()가 읽어들이는 데이터가 어디에 저장될지 명시할 필요가 없습니다.

    scanf()와 sscanf()를 사용할 때는 형식 문자열을 정확하게 입력해야 합니다. 형식 문자열이 정확하지 않으면 오류가 발생할 수 있습니다.

    예를 들어, 다음 코드는 scanf()를 사용하여 표준 입력에서 정수, 문자, 문자열을 읽는 예시입니다.

    #hostingforum.kr
    c
    
    #include 
    
    
    
    int main() {
    
        int num;
    
        char c;
    
        char str[100];
    
    
    
        printf("정수, 문자, 문자열을 입력하세요: ");
    
        scanf("%d %c %s", &num, &c, str);
    
    
    
        printf("입력한 정수: %dn", num);
    
        printf("입력한 문자: %cn", c);
    
        printf("입력한 문자열: %sn", str);
    
    
    
        return 0;
    
    }
    
    


    예를 들어, 다음 코드는 sscanf()를 사용하여 문자열 내에서 정수, 문자, 문자열을 읽는 예시입니다.

    #hostingforum.kr
    c
    
    #include 
    
    
    
    int main() {
    
        char str[100] = "123 a string";
    
        int num;
    
        char c;
    
        char str2[100];
    
    
    
        sscanf(str, "%d %c %s", &num, &c, str2);
    
    
    
        printf("입력한 정수: %dn", num);
    
        printf("입력한 문자: %cn", c);
    
        printf("입력한 문자열: %sn", str2);
    
    
    
        return 0;
    
    }
    
    


    scanf()와 sscanf()를 사용할 때는 형식 문자열을 정확하게 입력해야 합니다. 형식 문자열이 정확하지 않으면 오류가 발생할 수 있습니다.

    2025-04-07 19:27

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

검색

게시물 검색