- Lopakodva befutott a Radeon RX 9060
- Az MSI legfrissebb grafikus kártyái push-pull hűtést kaptak
- Mini PC
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Vezetékes FEJhallgatók
- Ventilátorok - Ház, CPU (borda, radiátor), VGA
- Dell notebook topic
- TCL LCD és LED TV-k
- Milyen monitort vegyek?
- Sony MILC fényképezőgépcsalád
Hirdetés
Köszönjük a sok biztatást, támogatást! Utolsó pillanat a féláras hirdetésfeladásra, előfizetésre!
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
argc, argv:
Vegyük azt, hogy a main függvényednek így néz ki a fejléce:
int main(int argc, char *argv[])
{
/* blabla */
}Itt az argc azt határozza meg, hány paramétered van+1. Azért +1, mert ebben a számban benne van magának a futtatandó programodnak a neve is (pl. akarmi.exe a futtatandó fájlod; de NEM maga a programnév, mint string van benne, hanem csak plusz egy "paraméter").
Az argv pedig sztringre mutató mutatók tömbje, azért char * argv[] (ez ekvivalens ezzel: char **argv); ez megmondja, hány string szerepel a parancssorban. A 0. index maga a program neve (a korábban említett akarmi.exe), mint string, az 1. index (és az azt követő indexek) pedig az(ok), ami(ke)t a fájl neve mögé írtál: akarmi.exe parameter1 (parameter2 parameter3...)Eszerint ellenőrizgethetsz: pl. azt is csekkolhatod ilyen módon, hogy a program neve után pontosan annyi paramétert adtak-e meg, mint amennyit elvártál, és/vagy a paraméter(ek) neve megegyezik-e valamilyen értékkel, amitől függően hajtasz végre mondjuk egy műveletet, stb...
A Te esetedben ("min és max érték között kikeresi és listázza a primszámokat") pl. így hívod meg a programot a parancssorból:
akarmi.exe 10 50Még az elején include-old az stdlib-et, és akkor átalakíthatod a paraméterként kapott sztringet egész számmá az atoi függvénnyel:
#include <stdlib.h>Végezz egy ellenőrzést, hogy a paraméterek száma nem kisebb-e a szükségesnél (kell a min és a max is):
if(argc<3)
/* hibaüzenetek, kilépés hibával */;A korábban int-ként deklarált min és max változóknak pedig add át a megfelelő értékeket:
min = atoi(argv[1]);
max = atoi(argv[2]);Ezt követően pedig végezd el a prímtesztelést.
Összefoglalva (a konkrét kiegészítés már a Te dolgod):
#include <stdio.h>
#include <stdlib.h>int main(int argc, char *argv[])
{
int min, max;
if(argc<3)
/* hibaüzenetek, kilépés hibával */;
min = atoi(argv[1]);
max = atoi(argv[2]);
/* ide jöhet a prímtesztelés */
}
Ú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!
- iPhone topik
- Sorozatok
- Lopakodva befutott a Radeon RX 9060
- Garmin Venu X1 - vékony, virtuóz, váltságíjas
- Garmin Venu Sq 2 - alaptudás a négyzeten
- Hardcore café
- Autós topik látogatók beszélgetős, offolós topikja
- Építő/felújító topik
- Okos Otthon / Smart Home
- Kerékpárosok, bringások ide!
- További aktív témák...
- Szinte új! 3 Hónapos! Playstation 5 Slim Disc (Lemezes) Kiadás! Garancia: 2027.05.15
- Logitech Z333 2.1 (980-000953/1202) Aktív hangfal
- NVIDIA Quadro M2000 4GB GDDR5 profi munkára, CAD, 3D, stabil kártya!
- Csere-Beszámítás! Ajándék ROG Táska! Asus Rog Ally Z1 Extreme RC71L - 512GB SSD + 16GB LPDDR5
- Asus BE24A 24" IPS monitor
- Bomba ár! Lenovo ThinkPad L390 - i7-8GEN I 16GB I 512SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- GYÖNYÖRŰ iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3047, 94% Akkumulátor
- BESZÁMÍTÁS! ASUS B450M R5 3500X 16GB DDR4 500GB SSD RTX 2060 Super 8GB Zalman N5 Zalmann 600W
- Xiaomi Redmi Note 9Pro 64GB Kártyafüggetlen 1 év Garanciával
- Dell Latitude Precision Üzleti gépek, 2-in-1 gépek, Vostro 8-12. gen szinte minden, garancia.
Állásajánlatok
Cég: FOTC
Város: Budapest