@azh7138m 应该不是,我试着强制转换类型后还是输出 128 int main(){ char c = 127; printf("c+1=%d\n",c+1); printf("c+(char)1=%d\n",c+(char)1) ; c = c + char(1); printf("经过 c = c + char(1)之后, c=%d\n",c);
return 0; } 输出结果: c+1=128 c+(char)1=128 经过 c = c + char(1)之后, c=-128 @zbinlin wow ,可是为什么在 print 中赋值和在外面单独赋值会有这么大的差别呢?