Table of Contents

    Understanding Return Types in C Functions: Usage and Examples

    Understanding Return Types in C Functions: Usage and Examples

    Return Statement with respect to parameter or arguments in c, there may be four type of condition with respect to arguments, they are below-

    1. Take Nothing Return Nothing
    2. Take Nothing Return Something
    3. Take Something Return Nothing
    4. Take Something Return Something

    Take Nothind Return Nothing

    Program

    
    #include<stdio.h> 
    void main( )
    {
    	
        sum() ;
    	
    }
     
    void sum(){
        int a, b, total ; 
    	printf("\nEnter any two numbers ") ;
    	scanf("%d %d", &a, &b) ; 
    	total = a + b ;
    	printf("\n Sum = %d \n", total ) ;
    }
    

    Output

    Enter any two numbers 2  3
    
     Sum = 5
    Press any key to continue . . .

    Take Nothind Return Something

    Program

    
    #include<stdio.h> 
    void main( )
    {
        int return_sum;
    	
        return_sum=sum() ;
        
        printf("\n Sum = %d \n", return_sum ) ;
    	
    }
     
    int sum(){
    	int a, b, total ; 
    	printf("\nEnter any two numbers " ) ;
    	scanf("%d %d", &a, &b) ; 
    	total = a + b ;
    	return total;
    	
    }
    

    Output

    Enter any two numbers 2  3
    
     Sum = 5
    Press any key to continue . . .

    Take Something Return Nothing

    Program

    
    #include<stdio.h> 
    void main( )
    {
    	int a, b, total ; 
    	printf("\nEnter any two numbers " ) ;
    	scanf("%d %d", &a, &b) ;
        sum(a, b) ;
    	
    }
     
    void sum(x, y){
    	int d ;
    	d = x + y ;
    	printf("\n Sum = %d \n", d ) ;
    }
    

    Output

    Enter any two numbers 2  3
    
     Sum = 5
    Press any key to continue . . .

    Take Something Return Something

    Program

    
    #include<stdio.h> 
    void main( )
    {
    	int a, b, total ; 
    	printf("\nEnter any two numbers " ) ;
    	scanf("%d %d", &a, &b) ;
    	total = sum(a, b) ;
    	printf("\n Sum = %d \n", total ) ;
    }
     
    int sum(x, y){
    	int d ;
    	d = x + y ;
    	return d;
    }
    

    Output

    Enter any two numbers 2  3
    
     Sum = 5
    Press any key to continue . . .

    Scope Rule of Functions

    Look at the following program

    Program

    
    
    #include<stdio.h> 
    void main()
    {
    	int i = 20 ;
    	message(i) ;
    }
    
    void message(int j)
    {
    	int k = 35 ;
    	printf("\n%d", j) ;
    	printf("\n%d\n", k) ;
    }
    

    Program

    20
    35
    Press any key to continue . . .

    In this program is it necessary to pass the value of the variable i to the function message( )? Will it not become automatically available to the function message( )? No. Because by default the scope of a variable is local to the function in which it is defined. The presence of i is known only to the function main( ) and not to any other function. Similarly, the variable k is local to the function message( ) and hence it is not available to main( ). That is why to make the value of i available to message( ) we have to explicitly pass it to message( ). Likewise, if we want k to be available to main( ) we will have to return it to main( ) using the return statement. In general we can say that the scope of a variable is local to the function in which it is defined.