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 <assert.h>
#include <stdio.h>
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ó app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

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


assert-h-trong-c.jsp