View Single Post
Staro 26.02.2008., 00:28   #8
mc_fish
the luda ribetna
 
mc_fish's Avatar
 
Datum registracije: Aug 2004
Lokacija: Riblja mjesta u zagrebu:D
Postovi: 3,952
Citiraj:
scanf("%s", ...) ocekuje varijablu tipa char*, a ne String. scanf je izvorno funkcija Ca, a u njemu niti ne postoji String tip podataka. Umjesto toga koristi se char array.

Sama funkcija scanf je dosta "agresivna" i sarat ce po memoriji kolko god treba. Sto se nje tice mozes ti zapisat %s i u varijablu tipa int (ako to kompajler dozvoli). No, to ne znaci da radis ispravnu stvar. Dakle, scanf se ne moze koristiti za zapisivanje u string, nego samo u char array.
stoji no %s znaci da uzima niz...pa je pogodan za stringove...zato imamo puts i gets...no opet sami scanf je jako pogodan za strukturiranje upisa/citanja itd




Citiraj:
void main() nikako i nikada nije dobra stvar. To u nekim (relativno rijetkim) situacijama moze dovesti do nekih zlih i nedobrih stvari. Cak se ni prema ANSI standardu void main() ne bi nikada trebao koristiti. Net je prepun clanaka u kojima je objasnjeno zasto je void main() nepozeljan.

Ako nista drugo, trebalo bi iz ciste pristojnosti vratiti nekakav status operativnom sustavu nakon sto se tvoj program zavrsi. A ne da jadni OS ostane zbunjen, pitajuci se sto se, dovraga, desilo tvome programu...
u skolskim primjerima se rijetko nesto vraca mainu...stoga je nepotreban int main()...a kad se prica o pristojnosti OS-a...onda bi se trebao ukljucivati critical sectione semafore dretve procese itd...no to se ne radi u ovakvim primjerima


Citiraj:
cin i cout bas i nemaju neke veze s objektima, ali imaju veze sa stringovima. Dakle, ako se koristi tip podataka String, onda se trebaju koristiti i cin i cout.
[/quote]

cin i cout dosli sa...dakle imaju veze s objektima
__________________
blup

mc_fish je offline   Reply With Quote