1. ARM 平台下 char 类型的变量默认是 unsigned char, 如果把一个 char a = -1; 的话,默认的a 为无符号数,所以 此时a 的值为255。 如果 sprintf(buffer,"%3d",a); 此时为“255”。所以在ARM 平台中要想使用有符号的char 类型,必须使用 signed char
来修饰,千万不能使用 char 来作为有符号数,因为ARM 平台默认的char类型为 unsigned char。
2. X86 平台的 char 类型的变量默认是 signed char, 如果把一个 char a = -1; 的话,默认的a 为有无符号数,所以 此时a 的值为-1。 如果 sprintf(buffer,"%3d",a); 此时为“ -1”。