Sh.*_*h.A 1 c++ min
当我执行以下代码时:
cout<<min(INT_MAX, INT_MAX+ INT_MAX);
我获得-2了输出.有人可以解释原因吗? 输出不应该是值INT_MAX?
-2
INT_MAX
msc*_*msc 5
INT_MAX+ INT_MAX 调用未定义的行为,因为有符号整数溢出.
INT_MAX+ INT_MAX
C++标准:
如果在评估表达式期间,结果未在数学上定义或未在其类型的可表示值范围内,则行为未定义.
归档时间:
8 年,3 月 前
查看次数:
84 次
最近记录: