LINUX.ORG.RU

История изменений

Исправление beastie, (текущая версия) :

На C можно и элегантней решить:

#define min(a, b) (*(a) < *(b) ? (a) : (b))
#define min3(a, b, c) (min(a, min(b, c)))

int
sum(int a, int b, int c)
{
        int *p = min3(&a, &b, &c);

        *p = 0;

        return a*a + b*b + c*c;
}
PS: про Фортран выше точно подметили. ;)

Исходная версия beastie, :

На C можно и элегантней решить:

#define min(a, b) (*(a) < *(b) ? (a) : (b))
#define min3(a, b, c) (min(a, min(b, c)))

int
sum(int a, int b, int c)
{
        int *p = min3(&a, &b, &c);

        *p = 0;

        return a*a + b*b + c*c;
}