C语言char的演算,求指点

C语言char的运算,求指点[codeC/C++][/code]int main(){charx 127unsignedchara x + 1unsignedshort

C语言char的运算,求指点
[code=C/C++][/code]int main()
{
  char x = 127;
   
  unsigned char a = x + 1;
  unsigned short b = x + 1;
  unsigned long c = x + 1;
  x=x+1;//x=-128?
  char d = x+1;//d=-127? 
  char e = x-1;//e=127?
  printf("0x%x, 0x%x, 0x%x, 0x%x", a, b, c,d);
  getchar();
  return 0;
}


上面问号处求详细解释一下运算原理...............

[解决办法]
char的取值范围是-128到127
x=127;x=x+1;127+1相当于-128
[解决办法]
char的取值范围是-128到127
x=127;x=x+1;127+1相当于-128