Table of Contents

## Introduction

We have already worked on this topic in our previous examples where we call functions made by us in the ‘main’ function. We can call a function inside other functions. Moreover, calling a user-defined function inside another user-defined function is also valid. These type of functions are called nested functions in C.

## Example

#include<stdio.h> int div_2 ( int x ) { if (x%2==0) { return 1; } else { return 0; } } int div_6 ( int y) { if ( div_2(y)==1 && y%3==0 ) { printf("the number is divisible by 6.\n"); } else { printf("the number is not divisible by 6.\n"); } } int main() { int a; printf("enter a value to check divisibility with 6\n"); scanf("%d",&a); div_6(a); return 0; }

## Output

## Explanation

The goal of the above program is to check whether the input given by the user is divisible by 6 or not. As we know, a number is divisible by 6 if it is divisible by 2 and 3 both.

First, we made a function ‘**div_2**’, which takes an ‘**int**’ type parameter as an argument. It will return 1 if the condition **(x%2==0)** is true else 0.

Secondly, a function named ‘**div_6**’ is defined, which takes ‘**y**’ as an ‘**int**’ type parameter.

**if ( div_2(y)==1 && y%3==0 )**, Function call is made to ‘**div_2**’ function in this condition block. This ‘**if**’ statement having two different arguments, will return 1 only if both the arguments are true. If **div_2(y)==1** returns 1, it means the number is divisible by 2, and if **y%3==0** returns 1, it means ‘y’ is divisible by 3.

Since 93 is divisible by 3 but not by 2, it is also not divisible by 6.

## 0 Comments