- Bluetooth-headsetekről általában
- Magisk
- Telekom mobilszolgáltatások
- Milyen okostelefont vegyek?
- Hitelesítették az S26 Ultra csalódást keltő telepét
- iPhone topik
- Google Pixel topik
- Amazfit Balance - ár-érték egyensúly
- Samsung Galaxy S25 Edge - a tegnap határán
- Motorola Edge 50 Neo - az egyensúly gyengesége
Ú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!
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- Bluetooth-headsetekről általában
- Tőzsde és gazdaság
- Bittorrent topik
- Vezeték nélküli fülhallgatók
- TCL LCD és LED TV-k
- Fujifilm X
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Azonnali fotós kérdések órája
- További aktív témák...
- 4db UK billes - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
- 145 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
- Gamer PC-Számítógép! Csere-Beszámítás! R5 3600 / RX 6600XT / 32GB DDR4 / 250SSD + 750HDD
- 144 - Lenovo LOQ (15ARP9) - AMD Ryzen 7 7435HS, RTX 4060
- Vadonatúj Alienware m15 R5 Csúcskategóriás Gamer Laptop 1év garancia (Ryzen 9, RTX 3070, 240Hz QHD)
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- LG 25GR75FG - E-Sport Monitor - FHD 360Hz 1ms - NVIDIA Reflex + G-sync - AMD FreeSync - HDR 400
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- AKCIÓ! Apple iPad Pro 13 2024 M4 512GB Cellular tablet garanciával hibátlan működéssel
- HIBÁTLAN iPhone 13 Pro 128GB Alphine Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3024, 91% Akkumulátor
Állásajánlatok
Cég: FOTC
Város: Budapest