If there is a definition: int *p[3];, the correct one in the following description is ( )
A pointer variable p with a base type of int is defined, which has three pointers
B. A pointer array p is defined, which contains three elements, each of which is a pointer with the base type of int
C. An integer array named *p is defined, which contains three elements of type int
D. A pointer variable p which point to one-dimensional array is defined. The one-dimensional array should have three elements of type int
#includevoid fun(int *a,int *b) { int *c; c=a;a=b;b=c; } main() { int x=3,y=5,*p=&x,*q=&y; fun(p,q); printf("%d,%d,",*p,*q); fun(&x,&y); printf("%d,%d\n",*p,*q); } The output of the program is ( ).
A. 3,5,5,3
B. 3,5,3,5
C. 5,3,3,5
D. 5,3,5,3