为什么short st=1; st=st+1; 不正确
时间: 2023-10-25 16:06:42 浏览: 113
这是因为在 C++ 中,不同类型的变量在进行运算时需要进行类型转换。在这个例子中,st 是一个 short 类型的变量,而 1 是一个 int 类型的常量。当我们执行 st = st + 1; 时,1 会被自动转换成 short 类型,但是在进行运算时,st 会被提升为 int 类型,这样运算结果就是 int 类型。然后将 int 类型的结果赋值给 short 类型的变量 st,会导致数据精度的损失和类型不匹配的错误。因此,正确的写法应该是使用 st += 1; 或者 st++; 这样可以避免数据类型转换的问题。
阅读全文