Ú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!
- Hyundai, Kia topik
- Nagyon kellemetlen áremeléssel készül az Intel
- sziku69: Fűzzük össze a szavakat :)
- Napelem
- Milyen egeret válasszak?
- Apple iPhone 17e – mágnesek ereje
- VR topik
- Megérkezett a Samsung Galaxy A37 és Galaxy A57
- Energiaital topic
- Apple Watch Sport - ez is csak egy okosóra
- További aktív témák...
- EliteBook 8 G1i 14 AI 14" FHD+ IPS Ultra 5 235U 16GB 256GB NVMe ujjlolv IR kam gar
- SK Hynix 8GB DDR5 RAM modulok több darab is van // Számla // Garancia //
- 16GB DDR4 RAM modulok 3600Mhz több darab // Számla // Garancia //
- Dell Latitude 7420 érintőkijelzős // Core i5 1145G7 // 16GB // 256GB // A- kategória
- Zotac / Inno3D RTX 3080 Ti // Számla // Garancia //
- Dell Precision 5520 15,6" FHD, Xeon E3-1505M v5, 16GB RAM, Quadro 4GB VGA, SSD, jó akku, számla, gar
- Dell Precision 5570! 4K Touch / i7-12800H / RTX A2000 / 32GB DDR5 / 512GB NVMe! BeszámítOK
- AKCIÓ! Intel Core i9 10850K 10 mag 20 szál processzor garanciával hibátlan működéssel
- 27% - Samsung S32DM700UU Smart M7 Monitor! 3840x2160 / 4ms / 60hz / 4K
- Vállalom Xianomi Okos kamerák, szoftveres javíttását
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

