You are here

assert in C

Assert is a macro that is used to check specific conditions at runtime (when a program is under execution) and is very useful while debugging a program. To use it, you must include the header file "assert.h" in the program.

Declaration: void assert(int expression);

The expression can be any valid C language expression most of the time it's a condition. In the program, we divide two integers, i.e., calculate a/b (where a and b are integers), b can't be zero, so we use, assert(b != 0) in the program. If the condition (b != 0) holds, then the program execution will continue. Otherwise, it terminates, and an error message is displayed on the screen specifying the filename, the line number, the function name, the condition that does not hold (see image below).

C assert program

  1. #include <stdio.h>
  2. #include <assert.h>
  3.  
  4. int main() {
  5.   int a, b;
  6.  
  7.   printf("Input two integers to divide\n");
  8.   scanf("%d%d", &a, &b);
  9.  
  10.   assert(b != 0);
  11.  
  12.   printf("%d/%d = %.2f\n", a, b, a/(float)b);
  13.  
  14.   return 0;
  15. }