지금 배열쪽 공부하면서 아래와 같은 코드를 짜봤는데

출력을 하면 계속 for문의 쓰래기값이 while문을 침범해서 출력이 됩니다.

혹시 그 이유를 알 수 있을까요?

(for와 while 사이에 printf가 들어갔을때는 모든게 다 정상적으로 출력이 됩니다.)



void main()

{

    int i, leng, len2 = 0;

    char str[50];

    leng = sizeof(str) / sizeof(char);

    printf("문장 입력 : ");

    scanf_s("%s", str, leng);

    printf("문자열 출력 : %s\n", str);

    for (i = 0; i < leng; i++)

        printf("%c", str[i]);

    //printf("\n");

    while (str[len2] != '\0')

    {

        printf("%c", str[len2]);

        len2++;

    }

}