Hirdetés
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
- Google Pixel topik
- A Vivo S50 Pro mini is beáll a sorba
- Igazi csúcskészülék lett a Poco F7 Ultra
- Hivatalos a OnePlus 13 startdátuma
- Xiaomi 12X – kicsi a bors és hűvös
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Yettel topik
Ú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!
- Tippmix
- Formula-1 humoros
- Világ Ninjái és Kódfejtői, egyesüljetek!
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
- Battlefield 6
- Xbox tulajok OFF topicja
- Azonnali informatikai kérdések órája
- Óra topik
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- További aktív témák...
- 184 - Lenovo Legion Pro 7 (16IAX10H) - Intel Core U9 275HX, RTX 5090
- 183 - Lenovo Legion Pro 7 (16IAX10H) - Intel Core U9 275HX, RTX 5090
- MacBook Pro 16" M1 Max 32GB RAM 1024GB SSD Astro szürke - Nagyon szép karcmentes állapot !
- Microsoft Surface Pro 7+ - Újszerű, billentyűzettel és ceruzával
- Sapphire Pulse Radeon Rx 5500 XT 4Gb Videókártya CSERE
- Gamer PC-Számítógép! Csere-Beszámítás! R5 3600X / GTX 1080Ti / 16GB DDR4 / 512 SSD
- ÚJ Quansheng UV-K6 adóvevő eladó
- Telefon felváráslás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- Telefon felvásárlás!! Xiaomi Redmi Note 13, Xiaomi Redmi Note 13 Pro, Xiaomi Redmi Note 13 Pro+
- Samsung Galaxy S23 / 8/256GB / Kártyafüggetlen / 12Hó Garancia
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest


