He escrito el siguiente código .... Se debe convertir una cadena como "88" a doble valor 88 e imprimirloconvertir cadena a una variable doble en C
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
Pero siempre imprime 0. ..Pero cuando cambio el tipo de ret a int ... funciona bien ... cuando el tipo es flotante o doble, imprime cero ... entonces ¿por qué estoy obteniendo estos resultados ambiguos?
No hay tal cosa como una cadena en C ;-) – Aidanc
' "% f" 'o' "% G'" (o ' "% e"' para el formato exponencial) se usa para '' (float) 'y' (double) '. – geekosaur
simplemente olvídate del título ... :) –