私はC++で経験が不十分です。文字と文字列がどのように動作するかを見るために次のコードを書いています。C++のchar配列の予期しない出力
#include "stdio.h"
#include <iostream>
#include <string>
using namespace std;
int main()
{
char asdf[] = "hello";
char test[5] = {'h','e','l','l','o'};
cout << test;
}
"hello"を出力すると予想されましたが、代わりに "hellohello"が得られました。これは本当に困惑しています。私はいくつかの実験を行った:
別の長さの別の文字列にasdfを変更すると、正常に "hello"が出力されます。 テストの文字数を変更すると、正常に "hello"が出力されます。
私はこれが2つの同じ長さだったときに起こったと思ったが、私はそれらを両方とも「地獄」に変更すると、正常に「地獄」を出力するようだ。
私は友人に自分のコンピュータでこのコードを実行するように頼んだら、もっと混乱させるために、「hello」とランダムな文字を出力しました。
私はUbuntuで新しいコードブロックをインストールしています。誰でもここで何が起こっているか考えている?
を今後の研究のために有用であろう、より良いタイトルを書いてみてください。 –
確かに、どのようなタイトルをお勧めしますか?問題を簡潔に説明する方法は考えられませんでした。 –
_ "予期しない文字配列の出力" _のようなものがあります。とにかく状況を説明するものは、より明確に会って、他の人が調査することを可能にします。 –