これは私のコードです:
#include<iostream>
using namespace std;
int main(){
char ch[0];
cin >> ch;
cout << ch;
return 0;
}
input1:
abcdefghijklmnopqrstuvwxyza
output1:
abcdefghijklmnopqrstuvwxyza
(正常に動作していますが、理由はわかりません)
input2:
abcdefghijklmnopqrstuvwxyzab
output2:
abcdefghijklmnopqrstuvwxyzab_
(入力を要求する)
input3:
abcdefghijklmnopqrstuvwxyzabc
output3 :(実行時エラー)
output2が入力を要求し、input2を入力すると、出力は同じoutput2(再度入力を要求)になり、input1またはinput2を入力するとoutput1またはoutput2も表示されます。
誰かがこの現象を説明できますか?なぜそれが起こるのですか?