c语言强制类型转换问题

 

为什么第一a为什么是107,是等级低了吗 最后c2为什么是B,

字符‘k’的ASCII码值,是107
c2是char型的,赋值322溢出了322-256=66,ASCII码66的是字符‘B’

因为你把c1的值赋值给了a,原来c1=‘k’,所以赋值后a=107。(‘k‘的ASC‖值为107)
b的值赋值给了c2,所以c2=322,因为输出类型为%c字符类型,所以322对应的ASC‖字符为‘B’