Edición didáctica en español. El código y sus salidas conservan el original.
Clang o GCC para programar en C
Compara los dos compiladores usando el mismo estándar, advertencias y programa de prueba.

GCC es la GNU Compiler Collection; Clang es un front-end del proyecto LLVM. Ambos pueden compilar C. Empieza con el que exija tu curso o proyecto y usa el otro para comprobar portabilidad cuando sea posible.
Para comparar resultados, selecciona el mismo estándar, por ejemplo -std=c17, y advertencias como -Wall -Wextra -Wpedantic. Las versiones, extensiones y bibliotecas del sistema influyen; un diagnóstico distinto no demuestra por sí solo que un compilador sea incorrecto.
No presupongas que uno siempre genera programas más rápidos. Mide una carga real con opciones equivalentes y comprueba primero la corrección. Los sanitizadores y diagnósticos pueden ayudar a encontrar accesos inválidos y otros errores.
El ejemplo recorre un array y suma sus elementos. Modifica los valores, predice la suma y prueba con ambos compiladores en un entorno donde estén disponibles.
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 en el compiladorPreguntas frecuentes
¿Por qué el código y la salida siguen en inglés?
Las palabras clave, los identificadores y los textos que verifican las pruebas se conservan para no cambiar el programa. Las explicaciones y los controles están traducidos.