Jan 24, 2013 16:43
Вы тоже раньше думали, что функция abs() возвращает всегда неотрицательные значения?
=============
#include
#include
main()
{
int a = (int)0x80000000;
int b1 = abs(a);
int b2 = abs(a+1);
printf("%d %d\n", b1, b2);
}
=============
$ gcc 1.c
$ ./a.exe
-2147483648 2147483647
=============