Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Dấu chấm phẩy sau while và if trong C++

Khi bạn có câu lệnh như sau:

while (expression);

vòng lặp while sẽ chạy bất kể biểu thức có đúng hay sai. Tuy nhiên, nếu bạn viết:

if (expression);

câu lệnh sẽ chạy bất kể biểu thức có đúng hay sai. Điều này là do cú pháp của if và while là:

if (<expr>) <statement> // hoặc while (<expr>) <statement>

Vì vậy <statement> chỉ được thực thi nếu <expr> đánh giá là true. Trong while, nó sẽ rơi vào vòng lặp vô tận.

Câu hỏi là <statement> nào được thực thi. Nếu không có cặp ngoặc nhọn {} thì câu lệnh tiếp theo bị kết thúc bởi ; ngay cả khi câu lệnh đó là RỖNG. Lưu ý rằng câu lệnh rỗng là hợp lệ.

if (<expr>)     /* Câu lệnh rỗng */;
while (<expr>) /* Câu lệnh rỗng */;

Trong cả hai trường hợp, không có gì được thực thi (sau khi biểu thức được đánh giá). Tuy nhiên while có thể vào vòng lặp vô tận. Lưu ý: '{}' là một khối câu lệnh (statement-Block - một loại câu lệnh chứa danh sách các câu lệnh khác).