Преобразовать символы строки в число integer - C (СИ)
Формулировка задачи:
у меня есть строка. допустим 123. Мне нужно получить число int 123.
b - строка.
lb - длина строки.
допустим я ввожу строку 123, потом считаю и вывожу del. del почему-то равен 122. В чем ошибка?
ввожу строку 124, del = 123.
а если введу строку 34, то del = 34. что же это такое и почему так?
int k = 0;
for (int j = lb-1; j >= 0; j--){
del += b[k]*pow(10, j);
k++;Решение задачи: «Преобразовать символы строки в число integer»
textual
Листинг программы
int a = 243; char str[3]; itoa(a,str,10); puts(str);
Объяснение кода листинга программы
- Объявляется целочисленная переменная
aи присваивается ей значение 243. - Объявляется массив символов
strтипа char на 3 элемента. - Функция itoa() преобразует число
aв строку и записывает её в массивstr. - В качестве второго аргумента функции itoa() передан адрес первого элемента массива
str, что позволяет записать результат преобразования в первый элемент массива. - Второй аргумент функции itoa() — это основание системы счисления, в данном случае 10, что соответствует десятичной системе счисления.
- Выводится строка
strс помощью функции puts().