Newsgroup: it.comp.lang.c
Titolo: [std] int

E' standard che una funzione non dichiarante il tipo di ritorno, sia di
default int?
Es.
main()  coincide con int main()  ?

 wrote in message
news:8qq72v471r2tesm24...@4ax.com...


 chiarezza del codice.
Assolutamente no! Non e' standard.
Lo standard dice che main puo' essere dichiarata
int main(void) se non accetta parametri o int main(int argc, char* argv[])
(o forme equivalenti) se accetta parametri. Queste sono le forme definite
dallo standard, qualsiasi altra forma (comprese main() o int main()) puo'
essere accetta dal compilatore, ma NON E' STANDARD [1].
HTH
C:\>iao Angelo
[1] Molto spesso i compilatori (Unix soprattutto) accettano anche
    int main(int argc, char* argv[], char** envp)
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 essere accetta dal compilatore, ma NON E' STANDARD [1].
Sicuro che "int main()" non sia accettata?
Hai il documento del C99?
Tommy

 "main()"! Ad ogni modo non e' piu' standard.
Grazie per la puntualizzazione!


Non è vero , lo standard ANSI C89 approva "main()" sottintendendo int anche
se, come dice giustamente Andrea Gagliardi La Galà, risulta poco leggibile.

 se, come dice giustamente Andrea Gagliardi La Galà, risulta poco
leggibile.
Questi e' una parte degli appunti di C di una universita' americana:
<QUOTE>
The ANSI C99 standard requires that we say "int main()" or "int main(void)".
The ANSI C89 standard allowed "main()" so you will see this in many
textbooks. However "void main()" is incorrect in both standards.
</QUOTE>
In pratica come dici tu Luca lo standard ANSI C89 approva "main()",
purtroppo il C99 non lo approva piu'!
Indovina cosa succede? La maggior parte dei compilatori accetta ancora
"main()"! Ad ogni modo non e' piu' standard.
Tommy

 </QUOTE>
Come dice Angelo:
|qualsiasi altra forma (comprese main() o int main()) puo'
|essere accetta dal compilatore, ma NON E' STANDARD [1].
"int main()" non e' standard!
Tommy

 Hai il documento del C99?
Mi sono fatto confondere dal testo quotato..... Non importa risposta!
Tommy

Sono d'accordo con il Marrone, che a sua volta condivide la mia opinione:
"int main ()"
e
"main()"
significano esattamente la stessa cosa per il compilatore, un metodo (in
questo caso main()) che ritorna un int.
Chi lo nega è un pirla che si basa sulle parole testuali, senza capire il
significato delle espressioni C.

 wrote in message
news:ZqZW9.78741$AA2.3...@news2.tin.it...

E' stupendo il tuo modo di esporre opinioni.
Oserei aggiungere a tuo supporto:
"scemo chi legge".
Sbirish.

 significato delle espressioni C.
Il C99 non lo permette piu'. Ho fatto ricerce a riguardo.
Spero il "pirla" non fosse rivolto a me. Al piu' rivolgilo a quelli della
commissione che ha fatto lo standard C99.
Tommy

 Spero il "pirla" non fosse rivolto a me.
Non ti preoccupare c'e' una elevatissima probabilita' che "pirla" fosse
rivolto al sottoscritto. :-)
C:\>iao "Il pirla"


chiarezza del codice.
La forma "main()" non e` piu` contemplata dallo standard.  Ora bisogna
obbligatoriamente specificare il tipo di ritorno per tutte le
funzioni.
-- 
Andrea Laforgia
#exclude <windows.h>