26.02.2008., 00:28
|
#8
|
the luda ribetna
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 
|
|
|