convirtiendo cadena a una variable doble en C
He escrito el siguiente código ... Debería convertir una cadena como "88" a doble valor 88 e imprimirla
<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>
Pero siempre imprime 0 ... Pero cuando cambio el tipo de ret a int ... funciona bien ... cuando el tipo es flotante o doble, imprime cero ... ¿por qué obtengo estos resultados ambiguos?