字符范围为正数,如果我在其中存储一个整数,它仍应打印介于(0-255)之间的值。为什么输出为-24

问题描述 投票:0回答:1

'''

void main()
{
   int i=1000;
   char c='A';
   c=i;
   printf("%d",c);
}

'''

输出为-24

为什么当字符范围为(0-255)时此输出

c output
1个回答
1
投票

默认情况下,您的编译器将类型char视为类型signed char

带符号字符类型的值的范围是

— minimum value for an object of type signed char
  SCHAR_MIN -127 // −(27 − 1)
— maximum value for an object of type signed char
  SCHAR_MAX +127 // 27 − 1
© www.soinside.com 2019 - 2024. All rights reserved.