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:


