char* func()
{
const int size = 24;
char bin[size];
char *temp;
for(int i=0; i<23; i++)
bin[i] = '1';
bin[23] = '\0';
temp = bin;
return temp;
}
int main()
{
char *s;
s = func();
cout << s << endl; //prints out weird values
return 0;
}
컴파일 및 실행시 임의 값이 인쇄됩니다. 함수 func에서 char 배열을 초기화하고 그것을 반환하려고했습니다. 그것을 반환하고 메인에 인쇄하면 이상한 값을 출력합니다. 뭐가 잘못 되었 니? 어떤 도움을 주시면 감사하겠습니다.함수에서 문자 배열을 초기화하고 반환하면 주에 잘못된 출력이 발생합니다.
- 데이터가 들어있는 구조체 (표준 컨테이너 또는 기타)를 반환하십시오. –
@MattMcNabb : 물론 그래도 작동합니다. – Deduplicator