How to write a function with two int pointers and swap the values without temporaty variable in C

1 Answer

0 votes
#include <stdio.h> 

void swap(int *n1, int *n2);

int main(void)
{
    int a = 3, b = 7;
    
    swap(&a, &b);
    
    printf("a = %i b = %i", a, b); a = 7 b = 3
    
    return 0;
}
void swap(int *n1, int *n2)
{
    *n1 = *n1 + *n2; // 3 + 7 = 10
    *n2 = *n1 - *n2; // 10 - 7 = 3
    *n1 = *n1 - *n2; // 10 - 3 = 7
}

/* 
run:

a = 7 b = 3

*/




answered Sep 20, 2014 by avibootz

Related questions

1 answer 232 views
2 answers 218 views
6 answers 621 views
1 answer 189 views
189 views asked Sep 20, 2014 by avibootz
1 answer 179 views
2 answers 183 views
4 answers 362 views
...