×

Assert() Function in C

Assert (): In C, the statements are executed with the exit statement. In C language declare, and it tests the condition parameters. If the statement executed will be false, it shows the standard error in the program using the string parameter to display the failed condition.

Then the variable sets to the exit function as _assert_exit to the one and compiler the exit statement.

In c programming language we use the assert.h header file to invoke the assert () function. This library will be provided by a Marco function which will be used to exit the statement with the standard error.

Assert is a macro function that is used to check the specific conditions at the runtime and it is very useful while debugging the source code or program.

 The assert () function is used to tests the condition expression or statement. If the statement is false, it prints the standard error message, the string parameter is used to describe the false condition. Then it sets to the variable like  _assert_exit and prints the exit statement.

The assert.h is the header file of the C which we used in the assert function and the Standard Library provides a macro called assert which can be used to verify the assumptions made by the code and print a message if this assumption is not true.

Similarly, we will use other expressions in the programming languages. Rather than int we use the Boolean function and the Boolean expression to check the logical and relatively conditions.

If we check the condition, it returns false it will display the error message and exit from the program or else the program will exit without assertions.

Here, we use the return data type as: void function

As we know that the assert function is a macro function and that macro function doesn't return any value. Hence this is the reason for that the return data type is void.

Assertion violations:

If the assert condition is violated during the compiling and executing of the program. if there is any error or bug present in the code then that function called the precondition. After successful compilation the bug will be found and it will be fixed. This is the concept of precondition.

Whereas in the post condition, if the post condition of the program is violated during the execution or testing of the code. if there is a bug or error present in the code it contains the precondition. Then the bug must be found and it will be fixed while debugging process.

 Syntax for the assert () function:

Void assert (int expression)

Example 1:

#include<assert.h>
Let’s see some example programs for assert function in c
Example 1:
Include <stdio.h>
#include <assert.h>
 
Int main(int argc, const char * argv[])
{
    Int pos = 1
    Printf(“pos is %d\n”, exp);
    Assert(pos);
    Pos = 0;
    Printf(“Pos is %d\n”, pos);
    Assert(pos);
    Return 0;
}

Output:

Pos is 1
Pos is 0
Assert:  assert.c: main 24
Assertion failed

In the above program we used two header files like stdio.h and assert.h 

Then we declared an expression pos and declared that expression. Assert should not exit. since exp is not 0 

And changing the expression into 0.

In this case expression is 0 so assert value will display an error and exit 

Example 2:

#include <stdio.h>
#include <assert.h>
 
Int main () {
  Int x, y;
 
  Printf(“the two numbers are to be divided\n”);
  Scanf(“%d%d”, &x, &y);
 
  Assert (y!= 0);
 
  Printf(“%d/%d = %.2f\n”, x, y, x/(float)y);
 
  Return 0;
}

Output:

The two numbers going to be divided:
4,0
Assertion failed: (y!=0), function main, file assert.c, line 10
Abort trap: 4

In the above program the assert occurred because of 4 can’t divided by 0.

Thus, the assertion occurred at line 10.

Example 3:

#include <assert.h>
#include <stdio.h>
Int main () {
   Int x;
   Char str [10];
 
   Printf(“Enter the value: “);
   Scanf(“%d”, &x);
   Assert (x >= 10);
   Printf(“value entered is %d\n”, x);
    
   Printf(“Enter string: “);
   Scanf(“%s”, str);
   Assert (str!= NULL);
   Printf(“String entered is: %s\n”, str);	
   Return (0);
}

Output:

Enter the value: 1
Value entered is 1
Enter string: java point
String entered is: java point

 This is the basic assert program without assertions. For the beginners this program will be very useful for learning the concept of assert () function.


Related Topics

How to use atoi() function in C

Introduction: The atoi() is a function used in C programming language. This function converts string characters to the integer value. The atoi() function converts the input string to the return type of...

4 minutes read.

Pointer arithmetic in C

In the C programming language, a pointer is an address which stores a numeric value. Hence, a developer can perform several arithmetic operations on the same just as one does...

4 minutes read.

function pointer as argument in C

Pointers are considered difficult to understand for beginners but pointers can be made to work if you fiddle with them long enough. So, let’s understand this step by step. What are...

3 minutes read.

Types of Pointers in C

Pointers in C A pointer is a variable and this variable contains the address of another variable, i.e it’s a variable which has the address of another variable as its value....

4 minutes read.

Fseek Function in C

The fseek function is a function in the C standard library that changes the position of the file pointer in a stream-oriented file. It is typically used to move the...

3 minutes read.

C Program to find the size of a File

Before knowing about the Program, you need to understand what the size of a file is. After that, you should know how it is going to work with the given...

4 minutes read.

Find the Largest Three Distinct Elements in an Array using C/C++

In this tutorial, we will demonstrate how to use a C/C++ programme to locate the highest three different elements in an array. C/C++ Program to Find the Largest Three Different Elements...

3 minutes read.

#include in C

In the C programming language, #include is another way of inferring a standard, or a user defines file into the application or program. The preprocessor of the programming standard generally...

4 minutes read.

Floor() Function in C

Floor() function is a built-in function in C which is defined in the math.h header file. This function is used to return the nearest integer value which is less than...

4 minutes read.

How to use floor() function in C

Introduction: The floor() used as a function in the C programming language. This function uses to return the largest or most significant integer value. The integer value is smaller than...

3 minutes read.

Reverse a Stack using Recursion in C

In this tutorial we will learn how recursion will be used in this case to reverse a stack. For loops, while loops, do-while loops, and similar constructions are not permitted....

5 minutes read.

C Pointers

Pointers in C A pointer is a variable, which contains the address of another variable, i.e., it’s a variable which has the address of another variable as its value. The utilization...

4 minutes read.

2f in C language

Float data type in c: Double-precision floating-point numbers with up to 17 significant digits are stored in the FLOAT data type. FLOAT is equivalent to C's double data type and IEEE...

3 minutes read.

Evaluation of Arithmetic Expression in C

We can use the "eval" function in C to evaluate an arithmetic expression stored as a string. However, using "eval" is generally considered bad practice and can lead to security...

4 minutes read.

Why does sizeof(x++) not Increment x in C

Sizeof() is a much-involved operator in C or C++. It is an incorporated time unary administrator which can be utilized to figure the size of its operand. The consequence of...

5 minutes read.

Keywords in C

A keyword is a word that has a predetermined meaning. The C compiler knows the purposes of the keywords. The objectives of these keywords cannot be modified. Keywords are the...

9 minutes read.

Built-in functions in C

The function is a set of instructions and statements enclosed in the "{}" delimiter. In c, there are two types of functions. Pre-define functions/ Built-in functionsUser define function. Built-in functions in C:- These...

8 minutes read.

Enumeration (Enum) in C

Enumeration (Enum) in C: In the C programming language, the enum is referred to as an enumerated type. Enum is a user defined data type consisting of integer values and...

3 minutes read.

Find Union and Intersection of Two Arrays in C

Union You can find the union of the two sorted arrays using the join merge method on arr1[] and arr2[]. Use two index variables i and j with initial values i =...

4 minutes read.

Bitwise XOR Operator in C

What is Bitwise? As we know, bits are the smallest unit of a number and are mostly used in a computing system. So, in bitwise, we do operations on bits instead...

3 minutes read.