w3resource

C Exercises: Swap elements using call by reference


11. Swap Elements Using Call by Reference

Write a program in C to swap elements using call by reference.

Visual Presentation:

C Exercises: Pictorial: Swap elements using call by reference.

Sample Solution:

C Code:

#include <stdio.h>

// Function prototype to swap elements using call by reference
void swapNumbers(int *x, int *y, int *z);

int main() {
    int e1, e2, e3;
	
    printf("\n\n Pointer : Swap elements using call by reference :\n"); 
    printf("------------------------------------------------------\n");	

    // Input three integer values from the user
    printf(" Input the value of 1st element : ");
    scanf("%d", &e1);
    printf(" Input the value of 2nd element : ");
    scanf("%d", &e2);
    printf(" Input the value of 3rd element : ");
    scanf("%d", &e3);
	
    printf("\n The value before swapping are :\n");
    printf(" element 1 = %d\n element 2 = %d\n element 3 = %d\n", e1, e2, e3);

    // Call the function to swap the values of the three elements
    swapNumbers(&e1, &e2, &e3);

    printf("\n The value after swapping are :\n");
    printf(" element 1 = %d\n element 2 = %d\n element 3 = %d\n\n", e1, e2, e3);

    return 0;
}

// Function definition to swap the values of three integer pointers
void swapNumbers(int *x, int *y, int *z) {
    int tmp;
    tmp = *y;
    *y = *x;
    *x = *z;
    *z = tmp;
}

Sample Output:

 Pointer : Swap elements using call by reference :                                                            
------------------------------------------------------                                                        
 Input the value of 1st element : 5                                                                           
 Input the value of 2nd element : 6                                                                           
 Input the value of 3rd element : 7                                                                           
                                                                                                              
 The value before swapping are :                                                                              
 element 1 = 5                                                                                                
 element 2 = 6                                                                                                
 element 3 = 7                                                                                                
                                                                                                              
 The value after swapping are :                                                                               
 element 1 = 7                                                                                                
 element 2 = 5                                                                                                
 element 3 = 6

Flowchart:

Flowchart: Swap elements using call by reference

For more Practice: Solve these Related Problems:

  • Write a C program to swap two integers using call by reference and then display their values before and after swapping.
  • Write a C program to swap the values of three elements in an array using a function with call by reference.
  • Write a C program to swap two strings using call by reference and pointer manipulation.
  • Write a C program to implement a function that rotates three elements in an array using call by reference.

Go to:


PREV : String Length Using Pointer.
NEXT : Factorial Using Pointers.

C Programming Code Editor:



Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.