아래 코드에 대해 혼란 스럽습니다 ... 분명히하십시오. 10 자 - qwertyuiop
:배열 문자가 예상보다 길어짐
#include<iostream>
using namespace std;
int main()
{
char array[10];
cin>>array;
int i=0;
while(array[i]!='\0')
{
cout<<array[i];
i++;
}
}
및 입력을 제공 :이 코드를 사용
. 다시 출력은 qwertyuiop
입니다.
그러나 아래 코드에서와 같이 배열을 초기화하면 문자열이 배열에 비해 너무 길다는 오류가 발생합니다! 설명?
#include <iostream>
using namespace std;
int main() {
char array[10]="qwertyuiop";
int i=0;
while(array[i]!='\0')
{
cout<<array[i];
i++;
}
}
첫 번째 예는 버퍼 오버 플로우이고 11 번째'char'을 10 개의'char' 배열에 넣으려고하기 때문에 두 번째 컴파일은 컴파일되지 않습니다. – Blastfurnace