Macro assert() trong C | Thư viện C chuẩn




Hàm assert() trong C

Macro void assert(int bieu-thuc) trong Thư viện C chuẩn cho phép các thông tin chẩn đoán phát hiện được ghi tới tệp lỗi chuẩn (Standard Error File). Nói cách khác, nó có thể được sử dụng để thêm các thông báo chẩn đoán tìm lỗi trong lập trình C.

Khai báo hàm assert() trong C

Dưới đây là phần khai báo cho assert() Macro trong Thư viện C chuẩn.

void assert(int bieu-thuc);

Tham số

  • bieu-thuc: Đây có thể là một biến hoặc bất cứ biểu thức C nào. Nếu bieu-thuc ước lượng là TRUE, thì assert() không làm điều gì. Nếu bieu-thuc ước lượng là false, thì assert() hiển thị một thông báo lỗi trên stderr và ngừng thực thi chương trình.

Giá trị trả về

Macro này không trả về bất cứ giá trị nào.

Ví dụ

Chương trình C sau minh họa cách sử dụng của assert() macro trong Thư viện C:

#include 
#include 
int main()
{
   int a;
   char str[50];
	 
   printf("Nhap mot gia tri nguyen: \n");
   scanf("%d", &a);
   assert(a >= 10);
   printf("Gia tri nguyen vua nhap la %d\n", a);
    
   printf("Nhap mot chuoi: ");
   scanf("%s", &str);
   assert(str != NULL);
   printf("Chuoi vua nhap la: %s\n", str);
	
   return(0);
}

Biên dịch và chạy chương trình trên sẽ cho kết quả:

1. Trường hợp nhập một số nguyên có giá trị < 10, sẽ có thông báo lỗi sau:

Macro assert trong C

2. Nếu nhập một số nguyên và chuỗi thỏa mãn điều kiện, sẽ cho kết quả:

Macro assert trong C

Các bài Thư viện C phổ biến khác tại VietJack:


assert-h-trong-c.jsp