Modifiche recenti - Cerca:

Categorie

Pagine utente

Winzipedia

Uso dell'wiki

modifica il menu

CycloneEsercizio

Informatica3.CycloneEsercizio Versioni

Mostra le modifiche minori - Mostra le modifiche

01/06/2006 ore 11:39 CEST di Vincenzo - Aggiunta di autore, collaboratori e sommario
Modificate le linee 1-2: da:
!! Esercizio si riscrittura di un programma C in Cyclone
a:
! Esercizio si riscrittura di un programma C in Cyclone

'''Autore:''' [[Profiles.Vincenzo|Vincenzo Manzoni]]\\
'''Hanno contribuito:''' [[Profiles.Andrea|Andrea Rota]]

->'''Sommario'''
->[-Esempio di riscrittura di un semplice programma da C a Cyclone.-]
07/05/2006 ore 15:30 CEST di Vincenzo - /* Creazione della pagina */
Aggiunte le linee 1-57:
!! Esercio si riscrittura di un programma C in Cyclone

Dato il seguente codice, riscriverlo in [[http://cyclone.thelanguage.org/ | Cyclone]].

#include <stdio.h>

void foo(char *s) {
printf(s);
}

int main(int argc, char **argv) {
argv++;

for(argc--; argc >= 0; argc--, argv++)
foo( *argv );

}

1. Innanzitutto il main deve ritornare un intero, e quindi va aggiunta l'istruzione

// ...
foo( *argv );
return 0;
}



int main(int argc, char *@fat *@fat argv) {
//...




void foo(char *@fat @zeroterm s) {
//...
}

Ecco quindi il programma sorgente compilabile con Cyclone (testato):

#include <stdio.h>

void foo(char *@fat @zeroterm s) {
printf(s);
}

int main(int argc, char *@fat *@fat argv) {
argv++;

for(argc--; argc >= 0; argc--, argv++) {
foo( *argv );
}

return 0;
}


Nota: dalla documentazione di Cyclone, i puntatori di tipo char sono @@*@zeroterminated@@ di default, mentre tutti gli altri tipi di puntatori sono di default @@*@nozeroterminated@@, quindi la soluzione senza @@*@zeroterminated@@ in @@foo()@@ funziona.
Modifica - Versioni - Stampa - Modifiche recenti - Cerca
Ultima modifica il 01/08/2006 ore 13:25 CEST