函数
<cstdlib>

ldiv

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

参数

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

返回值

结果以 ldiv_t 结构体的值返回,该结构体有两个成员(顺序不分先后)
1
2
long int quot;   // quotient
long int rem;    // remainder 

示例

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

int main ()
{
  ldiv_t ldivresult;
  ldivresult = ldiv (1000000L,132L);
  printf ("1000000 div 132 => %ld, remainder %ld.\n", ldivresult.quot, ldivresult.rem);
  return 0;
}

输出

1000000 div 132 => 7575, remainder 100.


数据竞争

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

异常 (C++)

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

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

另见