Я написал следующий код.... Он должен преобразовывать строку типа "88" в двойное значение 88 и печатать его
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
Но он всегда печатает 0... Но когда я меняю тип ret на int... он работает нормально... когда тип float или double, он печатает ноль... так почему я получаю такие неоднозначные результаты?