Ho scritto il seguente codice .... E 'necessario convertire una stringa come "88" per raddoppiare il valore 88 e stamparloconversione di stringa in una doppia variabile in 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
ma stampa sempre 0. ..ma quando cambio tipo di ret a int ... funziona bene ... quando il tipo è float o double, stampa zero ... quindi perché sto ottenendo risultati ambigui?
Non esiste una cosa come una stringa in C ;-) – Aidanc
' "% f"' o ' "% G'"(o' "% e" 'per il formato esponenziale) è usato sia per '(float)' che '(double)'. – geekosaur
dimentica il titolo .. :) –