Реализация функции abs() запрещает указывать другие функции в качестве параметров в скобках - это приведет к некорректным результатам:
abs(a++); // избегайте этого - функция выдаст некорректный результат
a++;
abs(a); // вместо этого осуществляйте математические вычисления за пределами функции