|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Sep 2008
Messaggi: 10
|
conformita' del linguaggio C ISO 9899:1990
Ciao a tutti mi trovo a valutare le seguenti righe di codice e precisamente dovrei dire se sono conformi al linguaggio C ISO 9899:1990 o al C ISO 9899:1999, potreste darmi una mano a capirlo?
int x=2;int y,z; int f(int x){ int m=2; if (z=x) printf ("uno %d,%d\n",y--,x); if(z<=0) { m=0; return 1; } else{ int m=2,y=1; printf ("due %d\n",m+x); y+=f(x-1); static int x=2; print f("tre %d \n",(x--,m+(y<=f(x)))); return y; } } int main (){ f(x--); } Grazie mille |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Se usi la suite GNU GCC aggiungi le opzioni -ansi -pedantic alla linea di comando. Ad occhio non compila...
|
|
|
|
|
|
#3 | |
|
Junior Member
Iscritto dal: Sep 2008
Messaggi: 10
|
Quote:
USO IL DEV-C++ CMQ MI INTERESSAVA PRINCIPALMENTE SAPERE QUALE STANDARD RISPETTA IL CODICE SOPRA DESCRITTO O PER LO MENO CARATTERISTICHE PRINCIPALI DEL C89 E C99. |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
1) Dev-C++ è un ambiente di sviluppo (datato), non un compilatore. Il compilatore usato da Dev-C++ è MinGW, ossia la versione per Windows della suite GNU GCC.
2) Non scrivere in maiuscolo, su un forum equivale ad urlare e qui nessuno è sordo... 3) Compila il codice da linea di comando con il comando gcc (ed i parametri -ansi -pedantic). Non ricordo come si specificano i parametri in Dev-C++, ma di sicuro puoi impostarli tra le opzioni di progetto. Controlla. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 384
|
Dovrebbe essere Strumenti -> Opzioni di compilazione -> mettere la spunta su "aggiungi i comandi seguenti in fase di compilazione" e sotto mettere quello che hai detto tu.
|
|
|
|
|
|
#6 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
due opzioni che ti danno maggior controllo sullo standard sono -std=c89 e -std=c99
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Ad occhio è C99, quanto meno per la dichiarazione di static int x=2; effettuata a metà della funzione, nemmeno in testa ad un blocco.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#8 | |
|
Junior Member
Iscritto dal: Sep 2008
Messaggi: 10
|
Quote:
1.mi scuso per avere scirtto in maiuscolo e che sono io un po sordo 2.il mio problema di preciso è quello di capire se il codice è scritto in base allo standard c89 o c99 |
|
|
|
|
|
|
#9 | |
|
Junior Member
Iscritto dal: Sep 2008
Messaggi: 10
|
Quote:
se queste due opzioni le devo mettere nelle opzioni della compilazione dove dice xblitz gia ho provato e nn mi segnala niente di diverso sia se metto -stdc89 sia -stdc99 quindi penso che rispetti il c89 visto che, essendo il primo standard, nn ho problemi nella compilazione.giusto? |
|
|
|
|
|
|
#10 | |||
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
Quote:
![]() Quote:
per sicurezza controlla qua: http://www.linuxmanpages.com/man1/gcc.1.php |
|||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:39.





















