Tôi tự hỏi nếu x sẽ bao giờ đạt đến số không trong chương trình sau đây.Giá trị có bao giờ là 0 sau khi thay đổi "x << = 1" nhiều lần không?
hãy xem xét:
int main()
{
int x = 1;
while (x)
{
x <<= 1;
}
return 0;
}
nên hành vi dự kiến của chương trình này được thoát bình thường hoặc vòng lặp mãi mãi?
Tự mình dùng thử! :) – Wires77
Cố gắng không hoạt động mọi lúc. Đặc biệt là với hành vi không xác định. –
sử dụng 'unsigned int' thay vì' int' và nó sẽ hoạt động. –