假设我写了一个代码:
int main()
{
int i,a=2147483647;
if((2*a)<0)
printf("hello");
else
printf("world");
}
Run Code Online (Sandbox Code Playgroud)
输出是世界的.但对于 :
int main()
{
int i,a=2147483647;
if((a+a)<0)
printf("hello");
else
printf("world");
}
Run Code Online (Sandbox Code Playgroud)
输出是hello.
这是怎么回事?
存储在内存中的2*a和a + a的值在哪里(内存位置的数据类型是什么?)
| 归档时间: |
|
| 查看次数: |
130 次 |
| 最近记录: |