코드 3줄 짜리 질문드립니다ㅜㅜ

  • doubleknd
    doubleknd
    #include <stdio.h>
    #include <string.h>
    
    int main() {
    
        char temp[4]={0,};
    
        scanf ("%s", temp);
    
        printf (":::%d\n",(int)strlen(temp));
    
        return 0;
    }
    

    여기서 hello를 입력하면 temp의 길이가 5라고 나옵니다.
    이유가 뭘까요.. 선언할 때는 temp[4]인데..
    이상 허접한 질문이였습니다.


    9년 전
2개의 댓글이 있습니다.
  • Being
    Being

    기초적인 언어에 대한 지식을 쌓으신 후에 문제 해결에 도전해보시기를 권합니다. 아울러 위와 같은 기본적인 질문은 타 사이트를 활용해 주십시오.


    9년 전 link
  • 일루
    일루

    http://stackoverflow.com/questions/19148940/strlen-and-size-of-for-character-arrays 가 완전히 똑같지는 않지만 비슷한 질문입니다.


    9년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.