цикл for — В c ++, как язык обрабатывает продвижение типов char в целые числа в итерации?

Идея этого проекта состояла в том, чтобы создать массив символов с такими номерами.

char some_numbers[] = {'0', '1', '2', '3', '4', '5'};

Я сделал целое число размера этого массива прямо под этим с.

int array_size = sizeof(some_numbers) / sizeof(*some_numbers);

Я хотел попробовать простую итерацию, где вместо того, чтобы проходить каждую итерацию, чтобы показать символы, я просто хотел просто ввести продвижение внутри цикла for, чтобы показать истинное целое число. Например, я знаю, что если вы изменили some_numbers [0] на целое число, вы получите значение 48. Я использовал именно эту идею продвижения типов внутри параметров цикла for, которую я создал следующим образом.

for (int i = int(some_numbers[0]); i <= int(some_numbers[array_size]); ++i)

Далее я просто выполнил тело цикла for, выполнив простое арифметическое выражение, чтобы показать реальное целочисленное значение. Это все, что я напечатал.

for (int i = int(some_numbers[0]); i <= int(some_numbers[array_size]); ++i)
{
std::cout << int(some_numbers[i]) - int(some_numbers[0]) << std::endl;
}

Все, что я хотел получить в качестве результата, было 0 1 2 3 4 5, но я просто ничего не получил. Где и что пошло не так? Как именно я должен изменить свой подход, чтобы получить правильные данные для нужного мне типа данных?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]