函数
<cstdlib>

div

div_t div (int numer, int denom);
 div_t div (     int numer,      int denom);ldiv_t div (long int numer, long int denom);
  div_t div (          int numer,           int denom); ldiv_t div (     long int numer,      long int denom);lldiv_t div (long long int numer, long long int denom);
整数除法
div_tldiv_tlldiv_t 类型的结构体形式,返回 numer 除以 denom (numer/denom) 的整数商和余数。该结构体有两个成员:quotrem

参数

被除数
被除数。
除数
除数。

返回值

结果以在 <cstdlib> 中定义的结构体通过值返回,该结构体有两个成员。对于 div_t,这两个成员(顺序不定)是:
1
2
int quot;   // quotient
int rem;    // remainder 

可移植性

在 C 语言中,只存在 int 版本。
对于 long int 等效版本,请参见 ldiv
对于 long long int 等效版本,请参见 lldiv

示例

1
2
3
4
5
6
7
8
9
10
11
/* div example */
#include <stdio.h>      /* printf */
#include <stdlib.h>     /* div, div_t */

int main ()
{
  div_t divresult;
  divresult = div (38,5);
  printf ("38 div 5 => %d, remainder %d.\n", divresult.quot, divresult.rem);
  return 0;
}

输出

38 div 5 => 7, remainder 3.


数据竞争

并发调用此函数是安全的,不会导致数据竞争。

异常 (C++)

无抛出保证:此函数不会抛出异常。

如果结果的任何一部分无法被表示,将导致未定义行为

另见