2017-03-05 6 views
0

나는 다음과 같은 코드를 가지고 :이 코드를 실행하면어떤 strlen (char 포인터)가 반환됩니까?

char sir[1000], *psir; 
cout << "Introduceti sirul de caractere: "; 
strcpy(sir ,"merge") ; 
int dim; 
dim = sizeof(sir); 
cout << "Dimensiunea zonei de memorie asociata variabilei masiv sir:"\ 
    << dim << endl; 
dim = strlen(sir); 
cout << "Lungimea sirului de caractere introdus:" << dim << endl; 

psir = new char[dim + 1]; 
dim = strlen(psir); 

, 난 (22)를 얻을, 마지막 문장에와 그 이유를 볼 수 없습니다. 누군가 설명 할 수 있습니까?

+0

나는 마지막으로 하나가 실행될 때 dim = 22를 의미합니다. –

답변

0

새로 만들기를 사용하여 새 문자 배열을 만드는 중입니다. 그러나 초기화되지 않았기 때문에 그 내용을 묻는 것은 예기치 않은 대답을 초래할 것입니다.

+0

감사합니다. 정말 무슨 일이 일어 났는지 혼란스러워했습니다. –

+0

. 정확한 답으로 표시해주세요.] – FuzzyAmi

+1

4 분 남았습니다. –