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





18 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

Anand said...
This comment has been removed by the author.
Anand 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

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;
}