Edição didática em português. O código e suas saídas preservam o original.
Clang ou GCC para programar em C
Compare os dois compiladores usando o mesmo padrão, avisos e programa de teste.

GCC é a GNU Compiler Collection; Clang é um front-end do projeto LLVM. Ambos compilam C. Comece com o exigido pelo curso ou projeto e use o outro para verificar portabilidade quando possível.
Para comparar resultados, selecione o mesmo padrão, por exemplo -std=c17, e avisos como -Wall -Wextra -Wpedantic. Versões, extensões e bibliotecas do sistema influenciam; um diagnóstico diferente não prova sozinho que um compilador está errado.
Não presuma que um deles sempre gera programas mais rápidos. Meça uma carga real com opções equivalentes e verifique primeiro a correção. Sanitizadores e diagnósticos podem ajudar a encontrar acessos inválidos e outros erros.
O exemplo percorre um array e soma seus elementos. Modifique os valores, preveja a soma e teste com os dois compiladores em um ambiente em que estejam disponíveis.
Código C
#include <stdio.h>
int main(void)
{
int values[] = {3, 5, 7};
int total = 0;
size_t count = sizeof values / sizeof values[0];
for (size_t i = 0; i < count; ++i) {
total += values[i];
}
printf("Total: %d\n", total);
return 0;
}Abrir no compiladorPerguntas 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.