wntuwntu   5년 전

  1. 문자열 출력인데 아래 코드와 같이 배열이 3이고 abcdefg를 입력했는데 왜 abcdefg가 잘 출력되는건가요?

즉, 배열크기보다 큰 문자열을 전달 했는대 왜 다 출력이 되죠?

2. char str[3]이라고 했을때 문자열로 a를 입력하면 char[0]에 a가 str[1]에 널문자가 입력되고 str[2]에는 쓰레기 값이 남는 건가요?

알아보려고 아래와 같이 if로 제약을 줬는데 그래도 출력이 되네요;; 쓰레기값은 널문자로 받아 들이나요?

jung2381187   5년 전

  1. 그냥 운이 좋았던 겁니다. 물론 실제로 운을 믿고 저런 코드를 짜시면 문제 소지가 다분합니다(...)
  2. str[2]에는 쓰레기 값이 남습니다. str[2] == '\0'가 통과했다면 역시 운이 좋았던 겁니다.

댓글을 작성하려면 로그인해야 합니다.