RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : div() и ldiv() -- не работают в emx или как?


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : leonid
To : All
Subj : div() и ldiv() -- не работают в emx или как?

Hi!

При запуске программы, приведенной ниже, под gcc-3.2.1 и vac3.08
получаем разные результаты -- под gcc вообще ничего не происходит,
и не делится, не возвращается и даже в регистры не помещается,
в то время как под icc все происходит нормально.
Это какой-то баг gcc или только у меня?

-------- cut here -------------------------------------------
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
long int num[2] = {45,-45};
long int den[2] = {7,-7};
ldiv_t ans; /* ldiv_t is a struct type containing two long ints:
'quot' stores quotient; 'rem' stores remainder */
short i,j;

printf("Results of long division:\n");
for (i = 0; i < 2; i++)
for (j = 0; j < 2; j++)
{
ans = ldiv(num[i], den[j]);
printf("Dividend: %6ld Divisor: %6ld", num[i], den[j]);
printf(" Quotient: %6ld Remainder: %6ld\n", ans.quot, ans.rem);
}
}
-------- cut here -------------------------------------------




Thu 20 May 2004 13:53 Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.5) Gecko/2003101




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.