Hirdetés
- Motorola G86 - majdnem Edge
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- Samsung Galaxy S25 - végre van kicsi!
- Kiszivárgott, mikor érkezik a Galaxy S26
- Megérkezett a Pixel 5 és 4a 5G
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Milyen hagyományos (nem okos-) telefont vegyek?
- Soundcore Sleep A30 - a hosszú házasság titka
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
Új hozzászólás Aktív témák
-
válasz
#36268800
#5230
üzenetére
"A kérdésem az volna ezzel kapcsolatban, hogy mi a különbség az egyszerű "if" és az "else-if" között?"
Az, hogy sima if-eknél (megfelelő feltételek esetén) a program akár az összes if-be belemehet, if-else-eknél viszont legfeljebb csak egybe. Neked itt pont az else-if kell, mert egymást kölcsönösen kizáró feltételeid vannak.
"Esetleg valamelyik gyorsabban lefut?"
Ez is benne van, ha if-else-eknél belemegy valamelyik ágba, akkor utána a komplett blokk végére ugrik, nem nézi meg a többi feltételt. Mondjuk ez olyan különbség, ami tipikusan olyan kicsi, hogy mérések sem mutatják ki.
"A Microsoft Visual Studio-t használom, hol találom benne a program gyorsaságát?"
VS 2013-ban van profiler, de őszintén szólva nem hiszem, hogy jelenleg neked erre bármi szükséged lenne. Az ekkora programok futási ideje bőven mérési hibán belül van.
"Mi a véleményetek a kódom tagoltságáról?"
Így azért jóval olvashatóbb (ez az else-if szokásos írásmódja):
int main(void)
{
float num1, num2;
printf("Enter two numbers\nFirst: "); scanf("%f", &num1);
printf("Second: "); scanf("%f", &num2);
if (num1 == num2)
{
printf("They are equal: %f = %f", num1, num2);
}
else if (num1 > num2)
{
printf("They are not equal, %f > %f", num1, num2);
}
else
{
printf("They are not equal, %f < %f", num1, num2);
}
getch();
return 0;
}Ezen túlmenően ekkora kódnál azért különösebb tagoltságról nem lehet beszélni

ÁLtalános megjegyzésként még annyi, hogy lebegőpontos számoknál a == csak nagyon korlátozottan használható (itt mondjuk pont igen), mert ott a kerekítési hibák miatt előfordulhat, hogy két érték, aminek elméletben azonosnak kellene lennie, mégsem lesz pont ugyanannyi.
-
válasz
#36268800
#5230
üzenetére
Az else ág csak akkor hajtódik végre, ha az if-ben szereplő állítás hamis volt. Mivel itt egymást kizáró feltételek vannak, lehet külön is írni az if-eket, mindig csak egy lesz igaz, így mindkét esetben azt csinálja a program, amit szeretnénk, de az if-else megoldás a jobb (nem vizsgáljuk mindig mind a három feltételt feleslegesen).
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Autós topik
- Motorola G86 - majdnem Edge
- One otthoni szolgáltatások (TV, internet, telefon)
- Genshin Impact (PC, PS4, Android, iOS)
- Sok hűhó négyszázért: AMD Ryzen 7 9850X3D
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Hosszú premier előzetest kapott az Arknights: Endfield
- BestBuy topik
- Honda topik
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- További aktív témák...
- Kingston Fury Beast 2x8GB ddr4 2666mhz KF426C16BBK2
- OHH ! Dell Latitude 9430 Üzleti Profi Prémium Ultrabook 14" -80% i7-1265U 32/1TB IRIS Xe FHD+
- Canon EOS 200D +kit objektív és táska ( 6100 expo )
- Chieftec Eco Series 600W táp eladó!
- Szinte Új Razer Kraken 2019 Fekete/Fehér/Zöld Bolti ár:20k INGYEN FOXPOST
- GYÖNYÖRŰ iPhone 12 mini 64GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3851
- Dell USB-C dokkolók: (K20A) WD19/ WD19S/ WD19DC + 130W, 180W, 240W töltők
- MSI CreatorPro Z16P RTX A5500 TOUCH! (vapor chamberrel)
- GYÖNYÖRŰ iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4062
- Intel Processzorok sok db : Xeon E5-1620V3, Pentium G4400T, i3 6100, i3-4130, i3-2140T
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest



