Syntax
#include <stdlib.h> ldiv_t ldiv(long int numerator, long int denominator);Description
ldiv calculates the quotient and remainder of the division of numerator by denominator.
ldiv returns a structure of type ldiv_t, containing both the quotient (long int quot) and the remainder (long int rem). If the value cannot be represented, the return value is undefined. If denominator is 0, an exception is raised.
This example uses ldiv to calculate the quotients and remainders for a set of two dividends and two divisors.
#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); } return 0; /**************************************************************************** The output should be: Results of long division: Dividend: 45 Divisor: 7 Quotient: 6 Remainder: 3 Dividend: 45 Divisor: -7 Quotient: -6 Remainder: 3 Dividend: -45 Divisor: 7 Quotient: -6 Remainder: -3 Dividend: -45 Divisor: -7 Quotient: 6 Remainder: -3 ****************************************************************************/ }
Related Information