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