Compilateur et débogueur C en ligne

Compilez et déboguez C avec points d'arrêt, variables et exécution pas à pas GDB en mode Serveur.

Bibliothèques préinstallées
🚀 1,304,937 exécutions totales (32,367 ce mois-ci)
Intégrer
Sortie

Pratiquez C++ avec des défis de code

Résolvez des problèmes concrets dans cet éditeur : lancez les tests, soumettez et recevez une relecture IA.

Tous les défis C++
Facile

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

Vous apprendrez ArithmétiqueValeurs de retour
BeginnerLearning-pathVariables
Facile

Distance entre deux points

Calculez la distance en ligne droite entre deux points.

Vous apprendrez Théorème de PythagoreRacines carrées
BeginnerFunctionsLearning-pathmath
Facile

Average of Three

Average three whole numbers.

Vous apprendrez ArithmétiqueDivision
BeginnerLearning-pathVariables
Facile

Days in a Month

Return how many days a month has, including leap years.

Vous apprendrez Règles du calendrierFonctions utilitaires
BeginnerConditionsFunctionsLearning-path
Facile

Produit scalaire de deux vecteurs

Multipliez deux vecteurs élément par élément et additionnez les résultats, l'opération de base de tout neurone.

Vous apprendrez VecteursProduit scalaire
Réseaux de neuronesaiapprentissage automatique
Facile

Largest of Three

Pick the largest of three numbers without a built-in max.

Vous apprendrez ComparaisonsCombiner des conditions
BeginnerConditionsLearning-path
Facile

Vérification de nombre premier

Déterminez si un nombre est premier.

Vous apprendrez DivisibilitéOptimiser une boucle
BeginnerLoopsNumbersStudent-beginner
Facile

Nombre d'Armstrong

Vérifiez si un nombre est égal à la somme de ses chiffres élevés à la puissance du nombre de chiffres.

Vous apprendrez Extraction des chiffresPuissances
BeginnerNumbersStudent-beginner
Facile

Sum of Odd Numbers

Add every odd number up to a limit.

Vous apprendrez Boucles forAccumulateurs
BeginnerLearning-pathLoops
Facile

Number Triangle

Build a triangle of increasing numbers.

Vous apprendrez Lignes croissantesCompteur entre les lignes
BeginnerLearning-pathNested-loopsPatterns
Facile

Row Sums

Add up every row of a grid.

Vous apprendrez Listes 2DBoucles imbriquées
BeginnerGridsLearning-path
Facile

Halve Until One

Count how many halvings bring a number down to 1.

Vous apprendrez Boucles whileComptage
BeginnerLearning-pathLoops

🧩 À propos de cet exécuteur C en ligne

Le CodeUtility C Executor vous permet d’écrire et d’exécuter des programmes C directement dans votre navigateur - aucune installation ni configuration de compilateur requise. Il est propulsé par un bac à sable sécurisé qui prend en charge les véritables standards du C, notamment C89, C99, C11, et la dernière version.

Cet outil utilise un véritable compilateur C s’exécutant dans le cloud pour compiler et exécuter votre code comme dans un environnement natif. Vous pouvez facilement tester des extraits, apprendre la syntaxe ou vous entraîner à écrire des programmes complets avec entrée et sortie.

Il est conçu pour aider les apprenants et les développeurs à expérimenter rapidement les fondamentaux du C - tels que les types de données, pointeurs, boucles, fonctions, tableaux et structures - sans avoir besoin d’installer un compilateur ou un IDE.

Bien plus qu’un exécuteur de code

Utilisez depuis le même exécuteur un éditeur multifichier, un terminal d’exécution isolé, des bibliothèques propres à chaque environnement, des espaces de travail persistants, le partage et la collaboration en temps réel.

Comment utiliser cet exécuteur ?

Choisissez un environnement d’exécution, ouvrez ou créez un fichier, écrivez votre code, puis sélectionnez Exécuter. La sortie s’affiche dans le terminal ; les utilisateurs connectés peuvent conserver leurs fichiers dans un espace de travail, installer des bibliothèques et collaborer grâce aux partages.

  1. Sélectionnez une version et modifiez le fichier actuel, ou ouvrez un autre fichier de l’espace de travail.
  2. Exécutez le code, saisissez les données demandées dans le terminal et consultez l’historique des exécutions enregistrées.
  3. Utilisez les bibliothèques, les outils de l’espace de travail, le partage et le chat lorsque votre tâche nécessite plusieurs extraits de code.

💡 Notions de base du C et exemples à essayer ci-dessus

1. Déclarer des variables et des constantes

C vous oblige à déclarer le type de chaque variable. Utilisez #define ou const pour définir des valeurs en lecture seule.

int age = 30;
double pi = 3.14159;
char grade = 'A';
char name[] = "Alice";
bool isActive = 1; // vrai

// Constantes
#define MAX_USERS 100
const char* COMPANY = "CodeUtility";

2. Conditionnelles (if / switch)

Utilisez if, else if et switch pour la prise de décision.

int x = 2;
if (x == 1) {
    printf("Un\n");
} else if (x == 2) {
    printf("Deux\n");
} else {
    printf("Autre\n");
}

switch (x) {
    case 1:
        printf("Un\n");
        break;
    case 2:
        printf("Deux\n");
        break;
    default:
        printf("Autre\n");
}

3. Boucles

Utilisez for, while et do-while pour la répétition.

for (int i = 0; i < 3; i++) {
    printf("%d\n", i);
}

int n = 3;
while (n > 0) {
    printf("%d\n", n);
    n--;
}

4. Tableaux

Les tableaux stockent plusieurs éléments du même type.

int numbers[3] = {10, 20, 30};
printf("%d\n", numbers[1]);

5. Structures

struct vous permet de regrouper des données liées.

struct Person {
    char name[50];
    int age;
};

struct Person p = {"Alice", 30};
printf("%s a %d ans\n", p.name, p.age);

6. Entrée/sortie console

Utilisez printf et scanf pour l’E/S console.

char name[50];
printf("Entrez votre nom : ");
scanf("%s", name);
printf("Bonjour, %s\n", name);

7. Fonctions

Les fonctions encapsulent une logique réutilisable. Déclarez le type de retour, le nom et les paramètres.

int add(int a, int b) {
    return a + b;
}

printf("%d\n", add(3, 4));

8. Pointeurs

Utilisez les pointeurs pour stocker des adresses mémoire et manipuler les données indirectement.

int x = 10;
int* ptr = &x;

printf("Valeur de x : %d\n", x);
printf("Adresse de x : %p\n", ptr);
printf("Valeur via le pointeur : %d\n", *ptr);

*ptr = 20;
printf("x mis à jour : %d\n", x);

9. Entrée/sortie de fichiers

Utilisez fopen, fprintf, fscanf et fclose pour les opérations sur les fichiers.

FILE* file = fopen("file.txt", "w");
fprintf(file, "Bonjour fichier");
fclose(file);

char line[100];
file = fopen("file.txt", "r");
fgets(line, sizeof(line), file);
printf("%s", line);
fclose(file);

10. Manipulation de chaînes

Utilisez les fonctions de <string.h> comme strlen, strcpy et strcmp.

#include <string.h>

char text[] = "Hello";
char copy[10];

strcpy(copy, text);
printf("Longueur : %lu\n", strlen(copy));
printf("Comparaison : %d\n", strcmp(copy, "Hello"));

11. Mémoire dynamique

Utilisez malloc et free pour l’allocation sur le tas.

int* nums = (int*) malloc(3 * sizeof(int));
nums[0] = 1; nums[1] = 2; nums[2] = 3;

for (int i = 0; i < 3; i++) {
    printf("%d ", nums[i]);
}

free(nums);

🐞 Comment déboguer du code %{language} en ligne

Le débogueur %{language} en ligne recherche les erreurs d'exécution et de logique sans compilateur local ni IDE. Le mode Serveur compile avec les symboles de débogage et exécute le programme sous GDB.

  1. Ajoutez des points d'arrêt à côté des numéros de ligne.
  2. Sélectionnez Déboguer pour compiler et vous arrêter au premier point correspondant.
  3. Examinez la ligne, la pile d'appels et les variables.
  4. Utilisez Continuer, Pas à pas principal, Pas à pas détaillé ou Pas à pas sortant.
  5. Sélectionnez Arrêter pour terminer la session.

Commencez par un exemple minimal reproductible et placez un point d'arrêt juste avant le comportement inattendu.