@spezcial
Начинающий программист

Как вы думаете, почему данный код не работает?

#include <unistd.h>
#include <stdio.h>
int		ft_atoi(char *str);

int		ft_atoi(char *str)
{
  int res, i, sign;
  
  i = 0;
  sign = 1;
  res = 0;

    if (str[0] == '-')
      {
	sign = -1;
	i++;
      }
    
    while (str[i] >= 48 && str[i] <= 57)

      {
	res = res*10 + (str[i] - '0');
      }

    
    return sign*res;
}

int		main(void)
{
  char str[] = "23";

  int rslt = ft_atoi(str);

  printf("%d", rslt);

  return (0);
}
  • Вопрос задан
  • 493 просмотра
Решения вопроса 2
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Всё работает именно так, как вы написали в программе. Цикл никогда не заканчивается.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
АМИКОН Москва
от 120 000 до 200 000 ₽
iChar Санкт-Петербург
от 120 000 до 180 000 ₽
Almalence, Inc. Новосибирск
от 2 000 до 2 500 $