div
, , ldiv
lldiv
Vypočítá podíl a zbytek dvou celých hodnot.
Syntaxe
div_t div(
int numer,
int denom
);
ldiv_t ldiv(
long numer,
long denom
);
lldiv_t lldiv(
long long numer,
long long denom
);
ldiv_t div(
long numer,
long denom
); /* C++ only */
lldiv_t div(
long long numer,
long long denom
); /* C++ only */
Parametry
numer
Čitatel.
denom
Jmenovatel.
Vrácená hodnota
div
volána pomocí argumentů typu int
vrátí strukturu typu div_t
, která obsahuje podíl a zbytek. Návratová hodnota s argumenty typu long
je ldiv_t
a návratová hodnota s argumenty typu long long
je lldiv_t
. , div_t
ldiv_t
a lldiv_t
typy jsou definovány v <stdlib.h>.
Poznámky
Funkce div
vydělí denom
numer
a vypočítá podíl a zbytek. Struktura div_t
obsahuje podíl, quot
a zbytek, rem
. Znaménko quotientu je stejné jako znaménko matematického podílu. Absolutní hodnota je největší celé číslo, které je menší než absolutní hodnota matematického podílu. Pokud jmenovatel je 0, program se ukončí chybovou zprávou.
Přetížení, která přebírají argumenty div
typu long
nebo long long
jsou k dispozici pouze pro kód jazyka C++. Návratové typy ldiv_t
a lldiv_t
obsahují členy quot
a rem
, které mají stejný význam jako členové div_t
.
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
div , , ldiv lldiv |
<stdlib.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// crt_div.c
// arguments: 876 13
// This example takes two integers as command-line
// arguments and displays the results of the integer
// division. This program accepts two arguments on the
// command line following the program name, then calls
// div to divide the first argument by the second.
// Finally, it prints the structure members quot and rem.
//
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main( int argc, char *argv[] )
{
int x,y;
div_t div_result;
x = atoi( argv[1] );
y = atoi( argv[2] );
printf( "x is %d, y is %d\n", x, y );
div_result = div( x, y );
printf( "The quotient is %d, and the remainder is %d\n",
div_result.quot, div_result.rem );
}
x is 876, y is 13
The quotient is 67, and the remainder is 5