div
, , ldiv
lldiv
Вычисляет частное и остаток от деления двух целочисленных значений.
Синтаксис
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 */
Параметры
numer
Числитель.
denom
Знаменатель.
Возвращаемое значение
div
вызывается с помощью аргументов типа, возвращает структуру типа int
div_t
, которая содержит кворот и оставшуюся часть. Возвращаемое значение с аргументами типа long
, а возвращаемое значение с аргументами типа long long
lldiv_t
.ldiv_t
div_t
ldiv_t
Типы и lldiv_t
типы определяются в <stdlib.h>.
Замечания
Функция div
делится на denom
и вычисляет numer
кворот и оставшуюся часть. Структура div_t
содержит частное (quot
) и остаток (rem
). Знак квотиента совпадает со знаком математического квотиента. Его абсолютное значение является самым большим целым числом, которое меньше абсолютного значения математического кавыка. Если знаменатель равен 0, выполнение программы прекратится и появится сообщение об ошибке.
Перегрузки div
, которые принимают аргументы типа long
или long long
доступны только коду C++. Возвращаемые типы ldiv_t
и lldiv_t
содержат элементы quot
, rem
которые имеют те же значения, что и члены div_t
.
Требования
Маршрут | Обязательный заголовок |
---|---|
div , , ldiv lldiv |
<stdlib.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
// 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