Assertion là câu lệnh khẳng định một điều kiện phải đúng tại một điểm trong chương trình. Dùng để bắt lỗi logic nội bộ.
Assertion đơn giản
Sử dụng macro assert(expression) từ thư viện assert.h.
- Nếu biểu thức true: không có hành động gì.
- Nếu false: chương trình dừng lại (nếu assertion được bật), hoặc không làm gì (nếu tắt bằng
NDEBUG).
Ví dụ
#include <stdio.h>
#include <assert.h>
int main(void) {
int x;
printf("Nhập giá trị x:\n");
scanf("%d", &x);
assert(x >= 0); // Chương trình dừng nếu x < 0
printf("x = %d\n", x);
return 0;
}
Kết quả
Run 1: Nhập x: 20 -> x = 20 Run 2: Nhập x: -3 -> Assertion failed! Expression: x >= 0