div () -计算商和余数
格式
#include <stdlib.h>
div_t div(int numerator, int denominator);语言级别
ANSI
线程安全
是
但是,只有函数版本是线程安全的。 宏版本不是线程安全的。
描述
div() 函数计算 分子 除以 分母的商和余数。
返回值
div() 函数返回类型为 div_t的结构,其中包含商 int quot 和余数 int rem。 如果无法表示返回值,那么未定义其值。 如果 分母 是 0,那么将发生异常。
示例
此示例使用
div() 来计算一组两个红利和两个除数的商和余数。#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int num[2] = {45,-45};
int den[2] = {7,-7};
div_t ans; /* div_t is a struct type containing two ints:
'quot' stores quotient; 'rem' stores remainder */
short i,j;
printf("Results of division:\n");
for (i = 0; i < 2; i++)
for (j = 0; j < 2; j++)
{
ans = div(num[i],den[j]);
printf("Dividend: %6d Divisor: %6d", num[i], den[j]);
printf(" Quotient: %6d Remainder: %6d\n", ans.quot, ans.rem);
}
}
/***************** Output should be similar to: *****************
Results of division:
Dividend: 45 Divisor: 7 Quotient: 6 Remainder: 3
Dividend: 45 Divisor: -7 Quotient: -6 Remainder: 3
Dividend: -45 Divisor: 7 Quotient: -6 Remainder: -3
Dividend: -45 Divisor: -7 Quotient: 6 Remainder: -3
**********************************************************/