编译器:x86_64-gcc-9.3
标志:-O3-墙壁-Wextra
在:
int main()
{
int x= 4, y = 7;
x = y*(4LU - 5);
return x;
}
我没有收到警告。
但是,如果我将y
替换为7
,则会收到以下警告:
警告:从“ long unsigned int”到“ int”的转换溢出将值从“ 18446744073709551609”更改为“ -7” [-Woverflow]
即使值相同我为什么也得到它?