내가 선언에 * 숯불과 * 문자의 문자열을 초기화하기 위해 다음과 같은 : 그것은 ++를 내가 거기에 입력 한 내용을 줘하지만, 비주얼 C++에서 DevC를 사용이상한 출력은 다른 컴파일러
int length;
cout<<"Enter string length: ";
cin>>length;
char* str = new char[length];
cout<<"Enter your string here:";
for(int i = 0;i < length;i++)
cin>>str[i];
cout<<str<<endl;
컴파일 끝 부분에 임의의 문자가있는 문자열을 출력하십시오. 예를 들면 다음과 같습니다. 나는 비주얼 C가 내게 줄 ++ "안녕하세요"를 입력 :?. 이런 일이 않는 이유를 "안녕하세요 ^^ & * (Y &".Can 누군가가 나에게 설명
* 누군가가 내게 설명 할 수 있습니까? 왜 이런 일이 발생하지 않습니까? * 아무도 무슨 일이 일어나야하는지 정의하지 않았기 때문에? –
'cout << str'문은 'str'을 널로 끝나는 C 문자열로 처리합니다. str의 끝에서 '\ 0'을 추가하거나, str의 모든 단일 char을 할당하는 대신 'cin >> str'을 사용하십시오. – Yuan
@ ta.speot.is - 제 답변에서 설명했습니다. – user93353