1. ホーム
  2. c++

[解決済み] cinを使ってcharに1文字を入力する

2022-01-29 17:16:17

質問内容

私は、quot;cin"を使って、letterという名前のcharに1文字入力しようとしています。この方法で文字を入力するのですが、"cin"の行の後に文字を出力するたびに、認識できない文字が出力されます。

int main()
{
char letter[2];
cout << "Enter a letter: ";
cin >> letter;
cout << letter[2];
return 0;
}

出力します。

Enter a letter: a
▮

また、"1" や "s" のようなランダムな文字が出力されることがあるのですが。

何かお手伝いできることがあれば、ぜひお願いします。

ありがとうございます。

解決方法は?

文字が正しく入力・出力されていません。 char letter[2] は2文字の配列であり、1文字ではありません。この場合 char letter . さらに、あなたが出力している letter[2] これは、2 つの値しか持たない配列の 3 番目の要素です(C++ のインデックス付けは 0 から始まり、最初の要素は letter[0] であり、2番目は letter[1] )! 出力は常にゴミになります。正しいコードはこうです。

char letter;
cout << "Enter a letter: ";
cin >> letter;
cout << letter;
return 0;