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





11 comments:

  1. the first program should have

    b=temp;

    ReplyDelete
  2. jyothi.vit2/2/12, 4:49 PM

    logic: swapping

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

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

    ReplyDelete
  4. swapping without 3rd variable
    a=a+b-a;
    b=a+b-b;

    ReplyDelete
    Replies
    1. its wnt work... :|
      a=a^b;
      b=a^b;
      a=a^b;

      Delete
    2. This is single line logic:

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

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

    ReplyDelete
  6. This comment has been removed by the author.

    ReplyDelete
  7. swapping in oneline is needed?

    ReplyDelete