请考虑以下代码:
#include <stdio.h>
int main()
{
printf("%d", 300 * 300 / 300);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在标准GCC编译器上运行时,此代码会给出结果,300但是当我使用Turbo C运行它时,结果是81.为什么会这样?我知道TC使用2个字节来存储整数,结果300 * 300显然会超过这个限制,但是在打印之前它再次被300分为右边?另外先计算什么?300 / 300或300 * 300?)这种行为的原因是什么?
| 归档时间: |
|
| 查看次数: |
1068 次 |
| 最近记录: |