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:
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:
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.
