non sono un programmatore esperto ma, avendo visto come fare un ciclo di una striunga su un manuale volevo provare a duplicarlo in modo che ogni combinazione si possa verificare.

Non capisco perche ma non funziona!?!
codice:
#include<stdio.h>

char *punt="ABC";

void uno(){
 int a=0;
 do{
  printf("%c\n",*(punt+a));
 ++a;
 }while(*(punt+a));
}

void due(){
 int a=0;
 int b=0;
 do{
  do{
   printf("%c%c\n",*(punt+a),*(punt+b));
  ++b;
  }while(*(punt+a));
 ++a;
 }while(*(punt+b));
}


void main(){

uno();
due();
}
qualcuno può spiegarmi perche do o whilw non fanno il lavoro che mi aspettavo?