HELLOWORLD문제를 풀때 왜 쓰레기 값이 생성되지 않는지 궁금해요

  • User Avatar
    이하연

    [[problem:HELLOWORLD]]
    [[연습 문제|problem:HELLOWORLD]]
    ~~~ c
    #include
    int main() {
    int cases;
    char name[1024];
    scanf("%d", &cases);
    while(cases--) {
    scanf("%s", name);
    printf("Hello, %s!\n", name);
    }
    }
    ~~~

    별도의 초기화가 없다면 반복해서 이름을 입력받을때
    scanf로 입력 받은 이전 이름이 다음 이름보다 길면 출력시 이전 이름의 일부가 출력되어야하는 것아닌가요?
    궁금합니다


    11년 전
1개의 댓글이 있습니다.
  • User Avatar
    JongMan

    C의 문자열을 입력받는 함수들은 문자열을 다 입력받은 뒤 \0 문자를 맨 뒤에다 추가해 줍니다. C가 문자열을 어떻게 다루는지 찾아보시면 이해하실 수 있을 듯..


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