2014-01-11 1 views
0

이 코드는 sizeof() 함수를 char 요소의 7 개 요소와 함께 사용하기 위해 필자는 배열의 끝 부분에 PLUS라는 7 개 요소가 있기 때문에 출력이 8이어야한다고 생각했지만 놀랍게도 결과는 5 ?? 어떻게 될까요?sizeof (array_of_char) 이상한 숫자를 출력

답변

6

\065은 8 진수 이스케이프 시퀀스로 표시되는 단일 문자입니다.

+0

"8 진수 이스케이프 시퀀스"는 무엇을 의미합니까? 어떻게 8 진수인지 알 수 있었고 다른 예제는 무엇입니까? – Salahuddin

+2

@Salahuddin : '0'으로 시작하는 8 진수입니다. 다른 예는'\ 064'와'\ 066'입니다. –

+0

그럼 그냥 '0'이라고 쓰고 싶다면 '0'이라고 쓰면됩니다. 그러나 8 진수로 쓰려면 '\ 0'을 쓰고 ocatal 번호를 써야하나요? "에스 케이프 시퀀스"가 무슨 뜻인지 말씀하지 않으셨습니까? – Salahuddin

5

사용 :

char str[]="S\\065AB"; 

대신

char str[]="S\065AB"; 

\065

의는 C 이스케이프 시퀀스입니다.