- total90: SSD és HDD árak 2026-ban – most kell vásárolni, vagy várni 2028-ig?
- sziku69: Fűzzük össze a szavakat :)
- MasterDeeJay: RAM gondolatok: Mennyi a minimum? DDR3 is jó?
- Luck Dragon: Asszociációs játék. :)
- Elektromos rásegítésű kerékpárok
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- eBay-es kütyük kis pénzért
- mefistofeles: PC házat cseréltem, avagy tényleg olyan híg-e az olcsó hús leve?
- KISDUCK: Diétás kaja tipp
Ú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!
- Vezeték nélküli fülhallgatók
- E-book olvasók
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Kormányok / autós szimulátorok topikja
- A fociról könnyedén, egy baráti társaságban
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Fotók, videók mobillal
- Azonnali fáradt gőzös kérdések órája
- Gumi és felni topik
- ThinkPad (NEM IdeaPad)
- További aktív témák...
- iPhone 16 Pro 256 GB 100% akku 2,5 év GARANCIA
- Eladó HP ProLiant Microserver Gen8 16 Gb RAM Xeon E3-1265L v2
- TP-LINK TL-SG105-M2 5-Port 2.5G asztali switch - Gar.: 2028.05.09
- Patriot Viper Venom RGB 2x16GB DDR5 6000MHz CL36 - Új, bontatlan, 5 év garancia - Eladó!
- ZOTAC RTX 5070 12GB GDDR7 Twin Edge - Új, Bontatlan - Eladó!
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB DDR5 RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- Creality HALOT ONE gyantás nyomtató
- Apple iPhone 16 Pro 256GB Natural Titanium használt, karcmentes 6 hónap garancia
- LG 32UN880K - 32" IPS ERGO / 4K UHD / 60Hz 5ms / DisplayHDR 400 / USB Type-C / AMD FreeSync
- HP Dell, Fujitsu, üzleti kategóriás notebook kiárusítás - frissítve: 01.03
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

