Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Reprezentace čísla v céčku

Ahoj, chtěl bych Vás poprosit o radu. Dělám v céčku(učím se), a nemohu přijít na následující řešení.

Mám proměnnou pointer, ve které je uloženo číslo 5E-02, tuto proměnnou chci převést na double a vypsat jako 0,05 (nemusí být zaokrouhleno,...)

V čem je problém v následující úseku? Co dělám špatně? Vypisuje mi to kraviny....

Díky za radu

char *pointer;
pointer = "5E-02";
double cislo = atof(pointer);
printf("%f", cislo);

(jednou to vypíše - 198056.000000, po druhé 5834152.000000 a zkrátka pokaždé něco jiného)

Předmět Autor Datum
Jaký používáš překladač? Mě to funguje v Microsoftím.
Console 11.12.2013 15:52
Console
Používám GCC nový
MašinkaTomáš 11.12.2013 22:19
MašinkaTomáš
udelal jsem si pokusny programek #include <stdio.h> #include <stdlib.h> main (){ char *pointer; poi… nový
gilhad 11.12.2013 23:17
gilhad
V premennej pointer neni ulozene ziadne cislo ale adresa toho stringu. Ten program mas ale spravne,… nový
MM.. 11.12.2013 23:19
MM..
Ked nieco prekladas tak citaj warningy, obzvlast u GCC. http://stackoverflow.com/questions/4800102/n… poslední
MM.. 11.12.2013 23:23
MM..

udelal jsem si pokusny programek

#include <stdio.h>
#include <stdlib.h>

main (){
char *pointer;
pointer = "5E-02";
double cislo = atof(pointer);
printf("%f", cislo);
}

a funguje spravne. Pokud se ovsem vypusti #include <stdlib.h> tak funguje spatne - popsanym zpusobem.

Zpět do poradny Odpovědět na původní otázku Nahoru