Nejste přihlášen/a.
Dobry den,
snazim se programovat v C-ecku, ale narazil jsem na jeden problem se kterym nemuzu hnout. Mam nadefinovane tyto konstanty:
#define A 4096
#define B 3300
#define C A/B
Kdyz to spustim, tak je v konstante C = 1, ale spravne by to melo byt 1,2412. Nevite proc to spatne pocita?
Překladač bere A i B jako celá čísla (int) a tak s nimi pak i počítá. celé číslo/celé číslo je pro něj zase celé číslo. Musíš mu nějak říct, že chceš čísla s des. čárkou (double). Takže např.
#define A 4096.0
#define B 3300.0
#define C A/B
nebo
#define A 4096
#define B 3300
#define C (double)A/B
Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.
Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.