两个整数相乘是否超限

如何判断两个整型数相乘是否发生溢出
求一个判断方法


1.
------------------
#include <limits.h>


if (INT_MAX / a < b)
{
    overflow;
//cout<<"overflow"<<endl;
}
else
{
    c = a*b;
}
-------------------


2.
---------------


c = a*b;
if( a!=0 && c/a!=b ) overflow


---------------