On considère que l'implémentation code les caractères sur 8 bits

Premier exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
  int n ;
  signed char c ;
  c = '\xfe' ;
 
  n  = c+ 1 ;
  printf("%d", n) ;
Ici, on obtient -1 et là :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
  int n ;
  unsigned char c ;
  c = '\xfe' ;
 
  n  = c+ 1 ;
  printf("%d", n) ;
on obtient 255. Je ne comprends pas pourquoi et surtout comment on en est arrivé à ces deux résultats différents.