Online C Compiler
Abrir no compilador

Edição didática em português. O código e suas saídas preservam o original.

Turbo C e compiladores modernos

Adapte exemplos antigos para C padrão e entenda as diferenças de plataforma.

Abrir no compilador

Turbo C e compiladores modernos
Adapte exemplos antigos para C padrão e entenda as diferenças de plataforma.

Turbo C e Turbo C++ pertencem a ambientes históricos associados ao DOS. Seus exemplos podem presumir modelos de memória e tamanhos de tipos diferentes dos de um compilador moderno. O nome do compilador não determina sozinho a linguagem de cada arquivo.

Para portar um exercício, utilize int main(void), cabeçalhos padrão e funções portáveis. conio.h, clrscr e getch não fazem parte da biblioteca padrão de C. Não acrescente chamadas para pausar o console se o ambiente de execução não precisar delas.

GCC e Clang permitem selecionar padrões e emitir avisos úteis. Compile arquivos C em modo C e arquivos C++ em modo C++; as duas linguagens não são intercambiáveis.

Revise formatos de printf e scanf, limites de arrays e dependências do sistema. O objetivo da migração não é apenas eliminar erros de compilação, mas preservar o comportamento definido do programa.

Código C

#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;
}
Abrir no compilador

Saída esperada

========================================
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

Perguntas frequentes

Por que o código e a saída continuam em inglês?

Palavras-chave, identificadores e textos verificados pelos testes são preservados para não alterar o programa. As explicações e os controles estão traduzidos.