Bonsoir

Je suis entrain de faire un exo avec des contrainte imposé
voici la consigne

Nom : Capture d’écran 2022-03-02 à 18.31.25.png
Affichages : 1185
Taille : 395,6 Ko

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
#include <unistd.h>
 
void    ft_putchar(char c)
{
    write(1, &c, 1);
}
 
void    ft_print_comb(void)
{
    int a;
    int b;
    int c;
 
    a = 0; 
    while (a < 10)
    {
        b = a + 1;
        while (b < 10)
        {
            c = b + 1;
            while(c < 10)
            {
                ft_putchar(a);
                ft_putchar(b);
                ft_putchar(c);
                ft_putchar(',');
                ft_putchar(' ');
                c++;
            }
            b++;
        }
        a++;
    }
}
Avec ce code le programme m'affiche les virgules ansi que les espace mais en rajoutant ('0' + a) ('0' + b) etc ... A chaque putchar le résultat affiché et bon mais il me semble que l'on demande '0' + a, ce qui reviens au même qu'écrire a directement

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
void    ft_print_comb(void)
{
    int a;
    int b;
    int c;
 
    a = 0; 
    while (a < 10)
    {
        b = a + 1;
        while (b < 10)
        {
            c = b + 1;
            while(c < 10)
            {
                ft_putchar('0' + a);
                ft_putchar('0' + b);
                ft_putchar('0' + c);
                ft_putchar(',');
                ft_putchar(' ');
                c++;
            }
            b++;
        }
        a++;
    }
}
J'aimerais s'il vous plait qu'on m'explique pourquoi ca diffère entre les 2 résultat