#C 语言标准库函数 div
/*********************************************
* @brief 计算除法,同时得到商和余数
* @param x 被除数
* @param y 除数
* @return 包含商和余数的结构体
********************************************/
div_t div(int x, int y);
说明
计算 int
类型的除法,同时得到商和余数,其中商向零取整。
参数
x
- 被除数y
- 除数
返回值
包含商和余数的结构体。
结构体定义可能为(字段顺序未定义):
struct div_t { int quot; // 商 int rem; // 余数 };
或
struct div_t { int rem; // 余数 int quot; // 商 };
#示例
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
div_t result = div(10, 3); // 得 3 余 1
printf("div(10, 3) = %d ... %d\n", result.quot, result.rem);
result = div(-10, 3); // 得 -3 余 -1
printf("div(-10, 3) = %d ... %d\n", result.quot, result.rem);
return 0;
}
运行结果:
div(10, 3) = 3 ... 1 div(-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)
- C89/C90 standard (ISO/IEC 9899:1990):
- 4.10 div_t, ldiv_t
- 4.10.6.2 The div function