【发布时间】:2014-01-25 20:01:10
【问题描述】:
我有一个 vector<int> table 和一个 int index=-833099133
当我写作时
cout<<table.size()<<endl;
cout<< index%table.size()<<endl;
它给了我:
83
81
如果我写
cout<<index%83<<endl;
输出结果:
-79
有没有人可以帮助我为什么会发生这种情况?提前谢谢
【问题讨论】:
-
table.size()是无符号的,83是一个有符号的int……然后是整数提升,一些黑魔法,你得到了结果。 -
@H2CO3 谢谢回复,能不能写成我想接受的答案