[ bojanum @ 05.02.2021. 21:57 ] @
Pozdrav svima, da li se ovde moze predvideti koju ce vrednost dobiti celobrojna promenljiva d ? int main() { long d; double b=1262.845986; d=printf("%lf",b); return 0; } |
[ bojanum @ 05.02.2021. 21:57 ] @
[ Branimir Maksimovic @ 05.02.2021. 22:12 ] @
Na kom kompajleru?
[ bojanum @ 05.02.2021. 22:21 ] @
Koristio sam CodeBlocks, online c...rezultat je isti
dobijam da je d=11...mene interesuje da li sam mogao nekako da predvidim da ce biti 11... Kao da broji karaktere broja b...? [ Burgos @ 05.02.2021. 22:56 ] @
printf vraća broj ispisanih karaktera. Kako %lf ispisuje double vrednost sa šest cifri nakon decimalne tačke, odgovor je 11 karaktera.
https://linux.die.net/man/3/printf [ Branimir Maksimovic @ 06.02.2021. 05:02 ] @
U ovom slucaju nije includovan <stdio.h> pa zavisi od kompajlera dal ce da radi il ce da zvekne.
Kako je potpis printf int printf(const char*,...) moze se desiti da neki kompajler nije pametan pa ovo interpretira kao long printf(const char*, double); sto ce dovesti do problema prilikom interpretacije parametara pa moze dati nepredvidljive rezultate... Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|