convertendo string para uma variável dupla em C
Eu escrevi o seguinte código .... Ele deve converter uma string como "88" para double value 88 e imprimi-lo
<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>
Mas sempre imprime 0 ... Mas quando eu altero o tipo de ret para int ... funciona bem ... quando o tipo é float ou double, ele imprime zero ... então por que estou obtendo este resultado ambíguo?