5
Tôi đã cố gắng để thực thi mã này thông qua trình biên dịch gcc:sản lượng kỳ lạ mà không typecasting
#include <stdio.h>
int main()
{
unsigned long long int x;
x = 75000 * 75000;
printf ("%llu\n", x);
return 0;
}
Nhưng nó đã cho ra sai.
sau đó tôi đã cố gắng này:
#include <stdio.h>
int main()
{
unsigned long long int x;
x = (unsigned long long)75000 * (unsigned long long)75000;
printf ("%llu\n", x);
return 0;
}
Và nó đã cho ra đúng!
Tại sao lại như vậy?
Lưu ý rằng bạn chỉ cần truyền một trong các hằng số để quảng bá toàn bộ biểu thức. – Clifford