Vietnamese Developers’ Blog

exit vs return

Posted in C/C++ by kiennguyen on September 1, 2007

d903.jpg

Từ trước đến nay tôi vẫn sử dụng hai hàm exit và return một cách khá “vô tư”, coi như đó đơn thuần là 2 lệnh cần thiết đặt ở dòng cuối cùng của hàm main trong chương trình C (đối với hàm exit) và chương trình C++ (đối với hàm return) mà không thực sự hiểu ý nghĩa của chúng. Cho đến một ngày, tôi gặp phải một tình huống khá rắc rối: Một chương trình C++ đơn giản, cú pháp hoàn toàn đúng nhưng luôn bị lỗi core dumped sau khi chạy qua lệnh return của hàm main. Sau một thời gian đánh vật với chương trình này mà không có hiệu quả, tôi chợt nảy ra ý định tại sao không sử dụng hàm exit thay cho return nhỉ? Kết quả thật bất ngờ: Sau khi thay hàm return bằng exit, lỗi core dumped đã biến mất!!! Vậy phải chăng exit tốt hơn return?

(more…)