The value pointed by p does change inside the function but in the main procedure, it pintts out the previous value. How can I fix that?
#include <stdio.h>
#include <stdlib.h>
void changer(char *p, char user1[], char user2[]);
int main()
{
    char *p=malloc(10*sizeof(char));
    char user1[10]="rania";
    char user2[10]="souad";
    p=user1;
    changer(p,user1,user2);
    printf("%s\n",p);
      return 0;
}
void changer(char *p, char user1[], char user2[])
    {
        if (p==user1){
           p=user2;
           }
        else
            p=user1;
    }
