преобразование строки в двойную переменную в C

Я написал следующий код .... Он должен преобразовать строку типа & quot; 88 & quot; удвоить значение 88 и распечатать его

<code>void convertType(char* value)
{
   int i = 0;
   char ch;
   double ret = 0;
   while((ch = value[i] )!= '\0')
   {
      ret = ret*10 +(ch - '0');
      ++i;
   }
   printf("%d",ret);//or %f..what is the control string for double?
}



//input string :88
</code>

Но он всегда печатает 0 ... Но когда я меняю тип ret на int ... он работает нормально ... когда тип float или double, он печатает ноль ... так почему я получаю эти неоднозначные результаты?

Ответы на вопрос(7)

Ваш ответ на вопрос