can someone explain output of this program? : output of this program is:
XBCDO
HELLE
can someone explain why this is so?

        #include<stdio.h>
        void swap(char ** p,char **q){
        char *temp=*p;
        *p=*q;
        *q=temp;

        }
        int main(){
            int i=10;
            char a[10]="HELLO";
            char  b[10]="XBCDE";
            swap(&a,&b);
            printf("%s %s",a,b);
            }
