c语言中字符型与整型的转换

5 以下程序的输出结果是_。
main()
{ char c;
c=0362;
printf("%d\n",c);
}

0362是八进制表示方式,转化成二进制是:011 110 010,char只有八位,所以截取八位为:1111 0010。%d是按整型输出,第一位是表示符号位,1表示负数,1111 0010 是补码表示形式,除开第一位符号位,就111 0010,其原码表示为000 1110,就是14,加上符号位就是-14。