我有一个字符串变量 word="APA"

I have a string variable word="APA"

当我计算时:1-word.length(); Visual studio 打印 4294967294,而不是它应该打印 -2。

文我计算:1+word.length(); Visual studio 打印 4,它应该是什么。

为什么当我从 1 中减去长度得到那个数字时我该如何修正它?

注意:我使用 C++ 和 Visual Studio 2012。

因为表达式 1 - word.length() 的结果是 unsigned 类型,因为 length() returns an unsigned integer。所以 -2 环绕,你得到你的 4294967294.