输出结果为啥是126

输出结果为什么是126#includestdio.hint main(){char p[1]p[0]-130printf(%d,p[0])}YY公司的一道

输出结果为什么是126


#include<stdio.h>

int main()
{
    char p[1];
    p[0]=-130;
    printf("%d",p[0]);
}

YY公司的一道选择题
[解决办法]
-130的整数二进制是0xffffff7e
把它赋值给char,且都是有符号类型。就剩下后面的了7e
打印出来就是126