Program 187:
#include<stdio.h> void swap(int *,int*); main( ) { int a,b; printf("Enter a and b values\n"); scanf("%d%d",&a,&b); printf ("Values before Swap\na=%d\nb=%d\n",a,b ) ; swap(&a,&b ) ; printf ("Values after Swap\na=%d\nb=%d\n",a,b ) ; } void swap( int *x, int *y ) { int t ; t = *x ; *x = *y ; *y = t ; }Explanation:
- To understand this, it is very important to know what is a function. You can refer to my website by visiting this URL https://beginnerlanguage.blogspot.com/p/functions.html.
int a,b; printf("Enter a and b values\n"); scanf("%d%d",&a,&b); printf ("Values before Swap\na=%d\nb=%d\n",a,b ) ;
Here we declared 2 variables a and b and took user input. And let's say a=25 and b=100. And printed them on screen before we swap them.-
swap(&a,&b ) ;
Now we are calling the function swap by passing 2 parameters a and b using reference &. -
void swap( int *x, int *y ) { int t ; t = *x ; *x = *y ; *y = t ; }
In this method, we are doing the same which we used here and the explanation is also the same https://www.cprograms4future.com/p/swap-numbers-with-two-variables.html - The only difference is , here we used pointers. Pointers will work based on reference. Now we no need to return back any values as the values changes in method swap will automatically reflect in a and b values. As a is *x and b is *y.
printf ("Values after Swap\na=%d\nb=%d\n",a,b ) ;
Finally, we are printing swapped values of a and b.
What is Pointer??
You can open my All C Programs app and go through the explanation I gave under interview questions on "What is a Pointer?".
Then you will understand better on this concept.
Output:
Then you will understand better on this concept.
Output: