Citiraj:
Autor Hao
ok a sada da analiziram šta tvoj program radi. ja ne mogu tako nešto napisati jer nikada nismo radili s unsigned int, return 0 niti while(1) možeš li molim te objasniti šta to znači? radio sam sa dowhile petljom ali uvijek tipa while(uvjet).
|
Ovaj 1 je isto uvjet, ali je on uvijek istinit. Dakle, time smo dobili beskonacnu petlju. Tj. bila bi beskonacna da unutar nje nema onog breaka, koji ce ju u odredjenom trenutku prekinuti.
Ti mozes umjesto while(1) napisati while(x != 2) i izbaciti onaj break iz else if bloka.
Citiraj:
Autor Hao
unsigned int, jel to znači bez predznaka, i zašto to ovdje paše bolje od običnog int?
|
Da, unsigned je bez predznaka. Recimo da je dobra praksa koristiti unsigned varijable dok znas da nikada neces u njih pohranjivati negativne brojeve, ali u tvom slucaju je to potpuno nebitno. Slobodno koristis obican (signed) int.
Citiraj:
Autor Hao
što znači return 0?
koja je razlika između int main() i običnog main()
|
Opet, i jedno i drugo ce raditi jednako, ali je bolja praksa napisati int main() nego samo main(). Naime, svaki program bi, neposredno prije gasenja, trebao vratiti operativnom sustavu nekakvu povratnu informaciju o tome da li se ugasio uspjesno, ili je mozda doslo do neke greske.
Ako napises samo main(), to znaci da glavna funkcija pri svom zavrsetku nece vratiti nista, dok ce int main() vratiti neki broj. return 0 upravo radi to, vraca nulu operativnom sustavu neposredno prije nego tvoj program zavrsi s izvodjenjem, a nula se obicno koristi kao podatak da je program uredno zavrsio sa svojim radom.
Citiraj:
Autor Hao
zašto da ne koristim goto naredbu?
|
Goto naredbe su odavno izbacene iz upotrebe u svim visim programskim jezicima i treba ih potpuno izbjegavati. One narusavaju linearnost izvodjenja programskog koda, otezavaju prevodjenje programa u strojni kod te cine sam izvorni kod nepreglednim, neorganiziranim te su cesti uzrok greskama.