#C 语言标准库函数 lldiv
/*********************************************
* @brief 计算除法,同时得到商和余数
* @param x 被除数
* @param y 除数
* @return 包含商和余数的结构体
********************************************/
lldiv_t lldiv(long long x, long long y);
说明
计算 long long
类型的除法,同时得到商和余数,其中商向零取整。
参数
x
- 被除数y
- 除数
返回值
包含商和余数的结构体。
结构体定义可能为(字段顺序未定义):
struct lldiv_t { long long quot; // 商 long long rem; // 余数 };
或
struct lldiv_t { long long rem; // 余数 long long quot; // 商 };
#示例
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
lldiv_t result = lldiv(10, 3); // 得 3 余 1
printf("lldiv(10, 3) = %lld ... %lld\n", result.quot, result.rem);
result = lldiv(-10, 3); // 得 -3 余 -1
printf("lldiv(-10, 3) = %lld ... %lld\n", result.quot, result.rem);
return 0;
}
运行结果:
lldiv(10, 3) = 3 ... 1 lldiv(-10, 3) = -3 ... -1
#推荐阅读
#参考标准
- C23 standard (ISO/IEC 9899:2024):
- 7.8.2.2 The imaxdiv function (p: TBD)
- 7.22.6.2 The div, ldiv and lldiv functions (p: TBD)
- C17 standard (ISO/IEC 9899:2018):
- 7.8.2.2 The imaxdiv function (p: 159)
- 7.22.6.2 The div, ldiv and lldiv functions (p: 259)
- C11 standard (ISO/IEC 9899:2011):
- 7.8.2.2 The imaxdiv function (p: 219)
- 7.22.6.2 The div, ldiv and lldiv functions (p: 356)
- C99 standard (ISO/IEC 9899:1999):
- 7.8.2.2 The imaxdiv function (p: 200)
- 7.20.6.2 The div, ldiv and lldiv functions (p: 320)