Преобразование типов вручную - C (СИ)
Формулировка задачи:
Необходимо написать функцию преобразования строки цифр в число. Читал на сайтах, вычитал способ:
"Приведем примеры явного преобразования.
int i;
Можно привести следующие примеры явных преобразований типов:
(char) i - преобразует значение типа int в значение типа char."
Я написал:
Но это совсем не работает. Как можно?
void CharConvertInt(char str[]) { int i; for(i=0;i<StrLen(str);i++) (int) str[i]; }
Не, тут все неправильно) Надо по-другому, но тоже не получается.
int CharConvertInt(char str[]) { int i,Chislo; for(i=0;i<StrLen(str);i++) Chislo=(int)str[i]; return Chislo; }
Если ввести одну цифру.
Решение задачи: «Преобразование типов вручную»
textual
Листинг программы
int CharConvertInt(char str[]) { int i,Chislo; Chislo = 0; for(i=0;i<StrLen(str);i++) Chislo = Chislo*10 + (str[i]-'0'); return Chislo; }
Объяснение кода листинга программы
- В функции
CharConvertInt
происходит преобразование строки чисел в целое число. - Переменная
Chislo
инициализируется значением 0 и используется для хранения результата преобразования. - В цикле
for
перебираются символы строкиstr
. - Внутри цикла значение
Chislo
увеличивается на произведение 10 и разности между текущим символом и символом '0' (для получения числового значения символа). - После завершения цикла возвращается значение переменной
Chislo
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д