bonsoir je suis confronter a un petit soucis j'ai pour énoncer de d'afficher toutes les différentes combinaison de deux nombres entre 00 et 99 dans l'ordre croissant

exemple :

$>./a.out | cat -e
00 01, 00 02, 00 03, 00 04, 00 05, ..., 00 99, 01 02, ..., 97 99, 98 99$>

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
36
37
38
39
40
41
42
43
44
45
46
#include <unistd.h>
 
int ft_putchar(char c)
{
    write(1, &c, 1);
}
 
 void ft_print_comb2(void)
 {
     int a;
     int b;
     int c;
     int d;
 
     a = 0;
     b = 0;
     c = 0;
     d = 0;
 
     while (a <= 9)
     {
         while(b <= 8)
         {
             while (c <= 9)
             { 
                 while (d <= 9)
                 {  
                     ft_putchar(48 + a);
                     ft_putchar(48 + b);
                     ft_putchar(' ');
                     ft_putchar(48 + c);
                     ft_putchar(48 + d);
                     ft_putchar(',');
                     d++;
                 }
               c++; 
             }
            b++;
         }
         a++;
     }
 }
 int main ()
 {
     ft_print_comb2();
 }
et je n'affiche que 00 00,00 01,00 02,00 03,00 04,00 05,00 06,00 07,00 08,00 09,$

arrivé a ce moment la je suis censé incrémenter ma variable c mais une fois qu'il lit d++ et qu'il sort de l'accolade le prog s'arrête

Pourriez vous m'aider merci