列题:进行函数值交换
(1)typedef unsign char uar;
void Data_Deal(uar * p, uar *j )
{
uar *temp;
temp =p;
p=j;
j=temp;
}
这个是不对的,这个只是进行了指针地址的呼唤没有进行值的交换
void Data_Deal(uar * p, uar *j )
{
uar *temp;
*temp =*p;
*p=*j;
*j=*temp;
}
这样也不对,没有给temp初始地址,如果定义 uar *temp=0 也是不对的,指针不能为空
正确做法 void Data_Deal(uar * p, uar *j )
{
uar temp;
temp =*p;
*p=*j;
*j=temp;
}
或者在原先基础上改,uar t=0;
uar *temp;
temp=&t;
然后进行交换。