Эй У меня проблемы с изучением массивов на C++.Печать массива показывает символы вместо символов C++
Программа, которую я должен разработать, представляет собой простой массив, который читает имя (в символе) и печатает его после ввода.
Моя программа считывает его, но выводит его в символы, а не в символы? Может кто-нибудь объяснить мне, что я делаю неправильно?
Char name[10];
cout <<"Give a name: ";
cin >> name[10];
cout << endl;
for (int i=0; i<strlen(name);i++)
{
cout << name[i];
}
Может ли кто-нибудь объяснить, где в моем коде оно идет не так, и помещает его в символы, а не нормальные персонажи, которые я дал?
Вы фактически передаете массив или, скорее, указатель на функцию cin. cin ожидает строку, int или float тип переменной, а не массив. когда вы передаете имя [10] в cin, оно интерпретирует имя массива [10] как имя [0]. Таким образом, вы фактически передаете символ с индексом [0], а не весь массив. Почему бы не использовать строку и не забыть о цикле for. – Juniar
@Juniar: Чепуха, в основном. Он пропускает один символ, а не весь массив. И компилятор не интерпретирует 'name [10]' как 'name [0]'. –