C online - IDE, editor, compilador, intérprete

Escribe, compila y ejecuta programas en C online con un compilador Clang real que funciona dentro de tu navegador. Admite stdin, advertencias y la biblioteca estándar de C.

C17 (Clang 21, WebAssembly) · Se ejecuta en tu navegador, así que tu código nunca llega a nuestros servidores.
main.cC
Salida

            
Entrada (stdin), leída por scanf / std::cin / getline
Ctrl/⌘ + Enter para ejecutar

Funciones del compilador de C online (IDE, editor & intérprete)

Escribe, ejecuta y prueba código C online y gratis. Esta página funciona como IDE, editor de código, compilador e intérprete de C online, todo en uno: escribe tu código, pulsa Ejecutar y verás el resultado al momento. Todo se ejecuta en tu navegador, sin nada que instalar ni cuentas que crear.

  • Ejecuta código al instante: C17 (Clang 21, WebAssembly), con resultados en menos de un segundo tras la primera carga.
  • Editor de código: resaltado de sintaxis, números de línea, emparejamiento de corchetes y cierre automático de corchetes.
  • Entrada del programa (stdin): escribe la entrada que lee tu programa antes de ejecutarlo.
  • Errores claros: los mensajes de error y las advertencias aparecen en el panel de salida, igual que en tu propio ordenador.
  • Pantalla completa: Ctrl/⌘ + Shift + F, tamaño de fuente ajustable, diseño en paralelo o apilado y paneles redimensionables.
  • Guardado automático: tu código se guarda en tu navegador; descárgalo como main.c o cópialo con un clic.
  • Experimenta sin riesgo: un límite de tiempo y un botón Detener acaban con los bucles infinitos.
  • Privado: el entorno de ejecución de C funciona en tu dispositivo, así que tu código nunca se sube.
  • Modo oscuro y atajos de teclado: Ctrl/⌘ + Enter ejecuta el código.
  • Gratis: sin registro y sin límites de uso.

Aprende otros lenguajes de programación

Cómo usar el compilador de C online

  1. Escribe o pega un programa en C con una función main en el editor. Restablecer ejemplo recupera el programa inicial.
  2. Si el programa lee datos con scanf, getchar o fgets, escríbelos en el cuadro Entrada (stdin), debajo de la salida, antes de ejecutarlo.
  3. Pulsa Ejecutar o usa Ctrl + Enter (⌘ + Enter en Mac). Primero se compila el código y luego se ejecuta, y ambos pasos informan en el panel Salida.
  4. Elige un límite de tiempo de 5, 15 o 60 segundos. Un bucle infinito se detiene al alcanzar el límite, y Detener termina la ejecución al instante.

La primera ejecución descarga el compilador, de unos 30 MB. El navegador lo guarda en caché y, a partir de ahí, un programa típico compila en bastante menos de un segundo. Usa Copiar o main.c para guardar tu archivo de código fuente, A− y A+ para cambiar el tamaño del texto, el botón de diseño para colocar el editor y la salida uno al lado del otro o uno encima del otro, y Pantalla completa (Ctrl/⌘ + Shift + F, Esc para salir) para tener más espacio.

La compilación y la ejecución se hacen dentro de tu navegador. Tu código nunca se envía a un servidor. El editor guarda tu último programa en el almacenamiento local del navegador, y en ningún otro sitio.

Cómo funciona y qué admite

Es un compilador de verdad, no un intérprete que imita C. La página ejecuta Clang/LLVM 21, compilado a su vez a WebAssembly por el proyecto YoWASP. Clang convierte main.c en un programa WebAssembly (WASI) que luego ejecuta tu navegador. Las opciones del compilador son:

clang main.c -std=c17 -O2 -Wall -lm -o main.wasm
  • C17 con optimización (-O2) y las advertencias habituales (-Wall) activadas.
  • La biblioteca estándar de C de wasi-libc: stdio.h, stdlib.h, string.h, ctype.h, stdint.h, time.h y más. La biblioteca matemática está enlazada, así que sqrt, pow y sin de math.h funcionan sin que tengas que añadir -lm.
  • Diagnósticos exactos: los errores y advertencias se muestran tal como los imprime Clang, con posiciones main.c:line:column.
  • Códigos de salida: si main devuelve un valor distinto de 0, la salida termina con El proceso terminó con el código N.

Limitaciones de un entorno aislado del navegador:

  • Sin hilos. pthread.h no está disponible.
  • Sin sockets ni acceso a la red, y sin fork ni exec.
  • Sin un sistema de archivos real. No puedes abrir archivos de tu ordenador, así que usa stdin o datos en el propio código.
  • Sin bibliotecas gráficas ni de interfaz como SDL, OpenGL o conio.h/graphics.h. La salida es texto plano.

Errores comunes en C que el compilador te ayuda a detectar

Comprueba lo que devuelve scanf. Devuelve el número de valores que ha leído, no el valor en sí. Si el cuadro stdin está vacío o contiene texto donde se espera un número, la variable conserva el valor que tuviera antes, que puede ser basura. El programa inicial muestra el patrón seguro:

int n;
if (scanf("%d", &n) != 1) {
    fprintf(stderr, "expected a number\n");
    return 1;               /* reported as exit code 1 */
}

Haz coincidir los especificadores de formato de printf con sus tipos. Usa %d para int, %ld para long, %lld para long long, %zu para size_t, %f para double y %c para un carácter. Con -Wall, Clang avisa de discrepancias como imprimir un double con %d, así que lee las advertencias aunque el programa se ejecute.

Cuidado con el desbordamiento de enteros. Un int de 32 bits llega como máximo a 2.147.483.647, y el desbordamiento con signo es comportamiento indefinido en C. Con -O2, el optimizador puede dar por hecho que nunca ocurre, así que un bucle que se desborda puede comportarse de forma extraña en lugar de simplemente dar la vuelta al valor mínimo. Usa long long (o int64_t de stdint.h) para factoriales, sumas y productos grandes.

long long f = 1;
for (int i = 2; i <= 20; i++) f *= i;
printf("20! = %lld\n", f);   /* 2432902008176640000 */
Consejo: un mensaje sobre la declaración implícita de una función suele indicar que falta un #include, por ejemplo stdlib.h para malloc o string.h para strlen.

Preguntas frecuentes

¿Qué compilador y qué estándar de C usa?

Clang 21 (LLVM) en modo C17, con -O2 -Wall. La mayor parte del código escrito para GCC compila sin cambios, siempre que se ciña al C estándar y evite cabeceras específicas de una plataforma.

¿Se sube mi código a algún sitio?

No. El propio compilador se ejecuta en tu navegador, así que el código fuente, el programa compilado y su salida se quedan en tu dispositivo.

¿Cómo le doy datos de entrada a mi programa?

Escríbelos en el cuadro stdin antes de pulsar Ejecutar. Los valores pueden ir separados por espacios o saltos de línea, igual que cuando los escribes en un terminal. Cuando se acaba la entrada, scanf devuelve EOF.

¿Por qué mi programa se detiene con un mensaje de límite de tiempo?

Se ha ejecutado durante más tiempo que el límite elegido, lo que suele indicar un bucle que nunca termina. Revisa la condición del bucle, o elige 60 s para cálculos que de verdad son largos.

¿Puedo compilar C++ aquí?

Usa el compilador de C++ online, que ejecuta el mismo Clang en modo C++20. Para otros lenguajes, consulta todos los compiladores online.

Actualizado

Copiado al portapapeles