C program for swapping of two numbers





Code for swapping in c

#include<stdio.h>
int main(){
    int a,b,temp;
   
    printf("Enter any two integers: ");
    scanf("%d%d",&a,&b);
    printf("Before swapping: a = %d, b=%d",a,b);

    temp = a;
    a = b;
    b = temp;
    printf("\nAfter swapping: a = %d, b=%d",a,b);

    return 0;
}

C program for swapping of two numbers using pointers

#include<stdio.h>

int main(){

    int a,b;
    int *ptra,*ptrb;
    int *temp;

    printf("Enter any two integers: ");
    scanf("%d%d",&a,&b);

    printf("Before swapping: a = %d, b=%d",a,b);

    ptra = &a;
    ptrb = &b;

     temp = ptra;
    *ptra = *ptrb;
    *ptrb = *temp;

    printf("\nAfter swapping: a = %d, b=%d",a,b);
    return 0;
}

Sample output:
Enter any two integers: 5 10
Before swapping: a = 5, b=10
After swapping: a = 10, b=10


Swapping program in c using function

#include<stdio.h>

void swap(int *,int *);
int main(){

    int a,b;
   
    printf("Enter any two integers: ");
    scanf("%d%d",&a,&b);

    printf("Before swapping: a = %d, b=%d",a,b);

    swap(&a,&b);

    printf("\nAfter swapping: a = %d, b=%d",a,b);
    return 0;
}

void swap(int *a,int *b){
    int *temp;
    temp = a;
    *a=*b;
    *b=*temp;
}

Sample output:
Enter any two integers: 3 6
Before swapping: a = 3, b=6
After swapping: a = 6, b=6





21 comments:

Abhishek Malhotra said...

the first program should have

b=temp;

jyothi.vit said...

logic: swapping

a=a+b;
b=a-b;
a=a-b;

Anonymous said...

in the program for swapping 2 nos. it should be *temp= *ptra

Unknown said...

swapping without 3rd variable
a=a+b-a;
b=a+b-b;

jitendra said...

swapping using ptr is wrong..
should be
int temp;
temp=*a;

Unknown said...

its wnt work... :|
a=a^b;
b=a^b;
a=a^b;

Unknown said...

there r lots of mistakes

Unknown said...

yaa itz right

Unknown said...
This comment has been removed by the author.
Unknown said...

This is single line logic:

b = b + a - (a = b);

BHARADWAJA said...

swapping in oneline is needed?

Chaithanya Prasanth said...
This comment has been removed by the author.
Chaithanya Prasanth said...

also use this
==========
a=a-(~b)-1
b=a+(~b)+1
a=a+(~b)+1
=========
here ~b=(-b-1)

Unknown said...

need to keep * in temp assigning in swap function

Unknown said...

Superb nice

Unknown said...

Superb nice

Unknown said...

Good logic for swapping of 2 nos

Unknown said...

Excellent

Unknown said...

This article is really helpful for every programmer

Unknown said...

This article is really helpful for every programmer

rock said...

The above program is not working try the below code
#include

int main(){

int a,b;
int *ptra,*ptrb;
int *temp;

printf("Enter any two integers: ");
scanf("%d%d",&a,&b);

printf("Before swapping: a = %d, b=%d",a,b);

ptra = &a;
ptrb = &b;

temp = *ptra;
*ptra = *ptrb;
*ptrb =temp;

printf("\nAfter swapping: a = %d, b=%d",*ptra,*ptrb);
return 0;
}