Přetypování a výpis – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Přetypování a výpis – C / C++ – Fórum – Programujte.comPřetypování a výpis – C / C++ – Fórum – Programujte.com

 

Václav
~ Anonymní uživatel
31 příspěvků
24. 5. 2017   #1
-
0
-

 Zdravím všechny, začátečnický dotaz: Proč program nevypíše 5.000000 ? Lze to spravit úpravou: printf("Vysledek je %f", (float)vysledek); ale nevím proč? Díky za odpovědi.

int a = 3, vysledek ;
float b = 2.123 ;
vysledek = a + b ;

printf("Vysledek je %f", vysledek); // Vypíše 0.000000
Nahlásit jako SPAM
IP: 185.133.58.–
24. 5. 2017   #2
-
0
-

Tím %f mu slibuješ float parametr a dáš mu int parametr. Tento nesoulad pak vede neočekávanému chování. Jedno řešení jsi uvedl - parametr přetypovat na float. Druhé řešení je int parametr formátovat jako int, tedy printf("Vysledek je %i", vysledek);

Je otázka, zda chceš aby výsledek byl celočíselný, zaokrouhlený vždy dolů.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
KIIV
~ Moderátor
+43
God of flame
24. 5. 2017   #3
-
0
-

#1 Václav
%f ocekava parametr typu float. Evidentne, pokud mu hodis int, tak to vyflusne nulu.

Nahlásit jako SPAM
IP: 212.47.3.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Václav
~ Anonymní uživatel
31 příspěvků
24. 5. 2017   #4
-
0
-

Aha, tak on bude problém už tady:

int a = 3;
printf("%f", a); // Vypíše 0.000000

Měl jsem za to, že formátovou specifikací %f "zformátuji" číslo 3 na 3.000000, ale očividně nefunguje.. Inu, mám se co učit.. ;)

Nahlásit jako SPAM
IP: 185.133.58.–
24. 5. 2017   #5
-
0
-

Ta specifikace formátování funkci říká datový typ parametru který se bude formátovat.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Ovrscout
~ Anonymní uživatel
113 příspěvků
25. 5. 2017   #6
-
0
-

#1 Václav
Většina nových překladačů by tě na tuto chybu měla upozornit. Zkus si poladit parametry pro překladač -  zapnout rozšířené warningy nebo tak něco.

Nahlásit jako SPAM
IP: 193.165.79.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 4 hosté

Podobná vlákna

Přetypování — založil Keyzio

Pretypovani v C — založil TuTi_fruTi

Přetypování — založil Pavel Synek

C# přetypování — založil ondra

Přetypování. — založil jisla

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý