char占一位但是char+char = int 会自动扩充为int型int在32位机子里占4位而一个汉字占两位原理应该是这个没错 但是具体哪出错了我也没仔细看 估计是字符型变量相加之后引起你可以debug看看输出的变量的数据类型