C Programming

RETURNING FUNCTION RESULTS
This is done by the use of the keyword return, followed by a data variable or constant value, the data type of which must match that of the declared return_data_type for the function.


	float add_numbers( float n1, float n2 )
	{
		return n1 + n2;    /* legal */
		return 6;          /* illegal, not the same data type */
		return 6.0;        /* legal */
	}

It is possible for a function to have multiple return statements.


	int validate_input( char command )
	{
		switch( command ) {
			case '+' :
			case '-' : return 1;
			case '*' :
			case '/' : return 2;
			default  : return 0;
		}
	}

Here is another example


	/* Simple multiply program using argument passing */
	#include <stdio.h>

	int calc_result( int, int );            /* ANSI function prototype */

	int calc_result( int numb1, int numb2 )
	{
		auto int result;
		result = numb1 * numb2;
		return result;
	}

	main()
	{
		int  digit1 = 10, digit2 = 30, answer = 0;
		answer = calc_result( digit1, digit2 );
		printf("%d multiplied by %d is %d\n", digit1, digit2, answer );
	}


	Sample Program Output
	10 multiplied by 30 is 300

NOTE that the value which is returned from the function (ie result) must be declared in the function.

NOTE: The formal declaration of the function name is preceded by the data type which is returned,


	int  calc_result ( numb1, numb2 )


EXERCISE C15
Write a program in C which incorporates a function using parameter passing and performs the addition of three numbers. The main section of the program is to print the result.

Answer


©Copyright B Brown. 1984-1999. All rights reserved.