gpt4 book ai didi

c - c中整数除法运算的方向

转载 作者:行者123 更新时间:2023-11-30 18:59:26 25 4
gpt4 key购买 nike

下面给出的代码的输出是否取决于编译器,或者保证所有编译器的输出都是相同的?

int main()
{
int i=5;
i=i/3;
printf("%d\n",i);
return 0;
}

最佳答案

是的,您的示例的行为是明确定义的。

但是,在负值的情况下,就不太清楚了。在 C99 之前,整数除法是向零舍入还是向负无穷大舍入由实现定义:

If either operand is negative, whether the result of the / operator is the largest integer less than the algebraic quotient or the smallest integer greater than the algebraic quotient is implementation-defined

C99 要求四舍五入到零:

When integers are divided, the result of the / operator is the algebraic quotient with any fractional part discarded..

关于c - c中整数除法运算的方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11375775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com