Kezdőoldal » Számítástechnika » Programozás » Nem régen kezdtem programozni...

Nem régen kezdtem programozni (próbálkozni inkább) C nyelven. Mi a különbség a void és int main között, valamint mi a return 0; haszna és mikor kell 0 helyett más értéket megadni?

Figyelt kérdés
2015. okt. 3. 20:51
 1/4 anonim ***** válasza:
100%
2015. okt. 3. 21:06
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:

Programot azért írunk, mert el akarunk végeztetni a géppel egy feladatot. Nos, el elsülhet úgy, hogy a program sikeresen ellátta a feladatát, vagy épp valami hiba miatt ez nem jött össze neki. Ezt valamilyen úton-módon az operációs rendszer felé illik visszajelezni, mivel ez befolyásolhatja más programok működését. Legyen szó akármilyen rendszerről, a 0 jelenti azt, hogy sikeresen lefutott a program, bármi más egész szám, ha hiba történt.


Nos, mindezt C-ben ezt úgy oldották meg, hogy a program belépési pontja (az a pont, ahol a programot elkezdjük végrehajtani) legyen a main függvény. Ennek a függvénynek a visszatérési értéke jelzi, hogy a program sikeresen lefutott-e vagy sem.

2015. okt. 3. 23:41
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

>> Mi a különbség a void és int main között

Inkább "void" és "int" között.


- void fgv() { /* ... */ }

Elvégez egy feladatot (procedúra), de visszatérési eredményt nem generál. Bár megakasztható egy "return;" paranccsal.


- int fgv() { /* ... */ }

Előzővel ellentétben kiköp egy int típusú értéket.


- A main függvénynek mindig int a visszatérési értéke. (Nem tudok más return típusról C-ben.) A többi okokat fentebb leírták.


>> valamint mi a return 0; haszna és mikor kell 0 helyett más értéket megadni?


Szintúgy fentebb megtalálod a magyarázatot. Szóval én csak annyit tennék hozzá, hogy ha sikeresnek véled a futást, akkor "return 0;" mehet a main-be. Ha magad szeretnéd generáltatni a hibát, akkor értelem szerűen "return x;", ahol az x > 0. De, hogy ezt if-be teszed, vagy hova, már maga a program tervezésétől függ.


Teszem azt, kicsit barbár, de nah. :D


int main() {

... int a = 3;

... if((11 mod 4) == 2) {

... ... return 0;

... } else {

... ... return 1; /* ide lyukad ki */

... }

}


maradékos osztás (nem tudom, hogy tanultad-e de egy kis help):

(11 mod 4) == Y azaz 11:4 = 2 maradék: 3 ami, ha egyenlő Y-al, akkor TRUE.

(15 mod 4) == Z azaz 15:4 = 3 maradék: 3. Így:

(11 mod 4) == (15 mod 4) is TRUE.

2015. okt. 5. 16:52
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:

void fff() { ... }

- ez elvegez egy feladatot, de nem dob vissza semmi erteket


int fff() { ... }

- ez elvegez egy feladatot, es a vegen visszadob egy egesz szamot (integer), mint valasz


A "main" fuggveny az mindig a belepo pont a programba, es altalaban mindig "int main()"-kent hasznaljuk! A "void main()" is mukodik, de azt nem ajanlott hasznalni, mert nem kapsz visszajelzest, hogy mi tortent.

2015. okt. 6. 07:52
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!