我想将两个数字相乘,并且我知道我的数字总是正数,那么:
unsigned int mulPositiveNumbers(unsigned int a ,unsigned int b)
{
assert(a > 0);
assert(b > 0);
return (a*b);
}
现在,我用 assert 告诉自己“给定的数字总是正数”。
但是当我运行时:
int main()
{
unsigned int res = mulPositiveNumbers(-4,3);
// more stuff goes here
}
即使我使用的是负数,代码也不会失败。为什么 ?