C Programs | IT Developer
IT Developer

C Programs



Share with a Friend

Pointers in C

Function returning pointer

C Program: Function returning pointer

C

#include <stdio.h>

 

// Function that returns pointer to an integer

int* getMax(int *a, int *b) {

    if (*a > *b)

        return a;   // return address of a

    else

        return b;   // return address of b

}

 

int main() {

    int num1, num2;

    int *maxPtr;  // pointer to store returned address

 

    // Input two numbers

    printf("Enter first number: ");

    scanf("%d", &num1);

    printf("Enter second number: ");

    scanf("%d", &num2);

 

    // Function call

    maxPtr = getMax(&num1, &num2);

 

    // Display result

    printf("The larger number is: %d\n", *maxPtr);

 

    return 0;

}

Output

 
OUTPUT 1 :
Enter first number: 45
Enter second number: 60
The larger number is: 60

Explanation

  • The function getMax() accepts addresses of two integers.
  • It compares the values and returns the address of the larger number.
  • The main function stores this returned address in maxPtr and prints the value using *maxPtr.