-3
strlen() 함수를 사용하여 아래 표시된 것처럼 문자열의 크기를 인쇄하고 있습니다.strlen() 출력이 올바르지 않습니다.
int main()
{
char c[]={1,2,3,4,5}; //same output if c[5]={1,2,3,4,5}
printf("Length of string C is %d", strlen(c));
return 0;
}
출력
Length of string C is 19
왜 19를 인쇄?
배열에 널 종결자가 없으므로 strlen이 초기화되지 않은 메모리로 들어갑니다. –
@ 짐 로데스는 널 종결자를 넣지 않았다고 말했습니다. 나는 또한 코드의이 부분을 이해하지 못한다 : if c [5] = {1,2,3,4,5}. 당신이 얻고 싶은 것을 설명해 주시겠습니까? – Filo
@Filo OP는 선언문'char c [5] = {1,2,3,4,5}; '와 함께 출력이 동일하다고 말합니다. –