c=c+i  右边计算出来的是int型,赋给char型会损失精度,需要强制类型声明
c+=i    不了解

解决方案 »

  1.   

    我只知道在java里,字符和数字并不像在C里面可以看作是一样的,因此,有必要区别对待。
    但c+=i为什么可以通过,我也想知道。
      

  2.   

    我想可能是c+=i做了隐式转换,而c=c+i没有吧。
      

  3.   

    c+=i的时候编译器给i做了类型变换
    这也可以算是+=和= +的区别了吧
      

  4.   

    我个人以为是c+=i在做数值运算时会把'a'转换成对应的ASCII码值,再和1相加,得到'b'的ASCII码值,最后再转换成字符型。