Edizione didattica italiana
Turbo C e compilatori moderni
Adatta gli esempi storici al C standard considerando le differenze di piattaforma.

Turbo C e Turbo C++ appartengono ad ambienti storici legati a DOS. Gli esempi possono presumere altri modelli di memoria e dimensioni dei tipi. Il nome del compilatore non determina da solo il linguaggio di un file.
Per adattare un esempio usa int main(void), header standard e funzioni portabili. conio.h, clrscr e getch non fanno parte della libreria standard C. Non aggiungere pause se l’ambiente non le richiede.
GCC e Clang consentono di scegliere lo standard e attivare avvisi utili. Compila C in modalità C e C++ in modalità C++: le regole sono diverse.
Ricontrolla printf, scanf, limiti degli array e dipendenze di sistema. L’obiettivo è preservare un comportamento definito, non soltanto eliminare gli errori di compilazione.
Codice sorgente
#include <stdio.h>
int main(void) {
printf("========================================\n");
printf("Modern ISO C17/C23 Environment Diagnostic\n");
printf("========================================\n");
printf("Int Size : %zu bytes (Turbo C was 2 bytes)\n", sizeof(int));
printf("Pointer Size : %zu bytes (Turbo C was 2/4 bytes segmented)\n", sizeof(void*));
printf("Long Size : %zu bytes\n", sizeof(long));
printf("Status : Running on High-Speed Modern GCC Sandbox\n");
return 0;
}Apri nel compilatoreRisultato atteso
======================================== Modern ISO C17/C23 Environment Diagnostic ======================================== Int Size : 4 bytes (Turbo C was 2 bytes) Pointer Size : 8 bytes (Turbo C was 2/4 bytes segmented) Long Size : 8 bytes Status : Running on High-Speed Modern GCC Sandbox
Domande frequenti
Perché il codice e alcuni risultati restano in inglese?
Parole chiave C, identificatori, commenti del programma e output attesi restano quelli originali per preservare codice eseguibile e test coerenti. Spiegazioni e istruzioni sono tradotte.