質問: "hello"; printf("%s\n", c); ``` このコードを実行したところ、私の環境では > > hello\366\277\357\376 > > > と出力されました。 文字列配列の終端が"\0"で終わることは知っていますが、このようにあえて終端文字が入らないように配列を宣言して出力した際に出現する謎の文字の正体を教えてください。 また、終端文字がない場合、コンピュータはどうやって配列の終了を認識しているのでしょうか? よろしくお願いいたします。
回答: > > また、終端文字がない場合、コンピュータはどうやって配列の終了を認識しているのでしょうか? > > > 認識できません。 なので、確保しているバッファを超え、たまたまそこに存在しているデータを出力し、たまたまその何処かに存在した\0文字が出てくるまで出力しますね