void funa(int *x , int *y){int *p;*p=*x;*x=*y;*y=*p;}
因为p定义为指针,又没有指向,而* p=* x;这句的意思是取x所指存储单元中的值赋给p所指的存储单元,所以错了。
如有帮助,还请帮忙点下采纳!感谢!
定义了指针但指针没有明确指向,然后又对指针指向空间中的数据进行了修改,这样可能会导致指针对不可访问的内存中的数据进行修改,造成各种失败甚至系统崩溃。而且入参有指针要先进行指针判空,不然存在危险。