Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpPmChIx 81 of 390 menu
◀ ▶

Символ по индексу в C++

Один символ можно взять из готовой строки. Его тип - char, тот же, что у буквы в одинарных кавычках.

После строки ставят квадратные скобки, а в скобках пишут номер этого символа.

Номер считает с нуля, а не с единицы. У строки "abc" три места: номер 0, номер 1 и номер 2. Буква a стоит на нуле, b на единице, c на двойке.

Скобки дают символ типа char, а не строку из одной буквы. Скобка забирает один байт. Русская буква занимает два байта, поэтому первая скобка у такого слова - это не целая буква. На английском тексте байт и буква совпадают, и на экране видна буква. Первый символ, номер 0:

std::string str = "abc"; std::cout << str[0] << "\n"; // выведет a

Второй символ, номер 1:

std::string str = "abc"; std::cout << str[1] << "\n"; // выведет b

Третий символ, номер 2:

std::string str = "abc"; std::cout << str[2] << "\n"; // выведет c

Когда номер последнего символа заранее не считают, его берут как длину без единицы. У "abc" длина равна 3, последний номер равен 2:

std::string str = "abc"; std::cout << str[str.size() - 1] << "\n"; // выведет c

Номер, равный длине, программу не останавливает. Там лежит нулевой байт. У "abc" это номер 3:

std::string str = "abc"; std::cout << static_cast<int>(str[3]) << "\n"; // выведет 0

Дана строка:

std::string str = "dog";

Выведите первый символ этой строки.

Дана строка:

std::string str = "dog";

Выведите второй символ этой строки.

Дана строка:

std::string str = "dog";

Выведите третий символ этой строки.

Дана строка:

std::string str = "hello";

Выведите последний символ этой строки.

Дана строка:

std::string str = "code";

Выведите последний символ этой строки.

Дан следующий код:

std::string str = "sun"; std::cout << static_cast<int>(str[3]) << "\n";

Что выведет программа?

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить