level 5
定义函数的时候*P和team(比大小交换的时候)。。。。。我的表达能力已经极限了,跪求高人。*P和team的区别。
2012年02月12日 03点02分
1
level 5
第一个void main()
{ int * p1,* p2,* p,a,b;
scanf("%d ,%d",&a,&b);
p1=&a;p2=&b;
if(a<b)
这个东西{p=p1;p1=p2;p2=p;}
printf("a=%d,b=%d\n\n",a,b);
printf("max=%d,min=%d\n",*p1,*p2);
}
第二个
我直接定义函数了。。。就不写主函数了。
void swap(int * p1.int * p2)
{int temp:
temp=* p1;
*p1=*p2;
*p2=temp;}
{p=p1;p1=p2;p2=p;}和第二个中不一样啊,第二个是用temp换指针,第一个怎么不是啊?。。。我是个小白。
2012年02月12日 04点02分
5
level 6
第一个就是把p1存储的地址和p2存储的地址进行交换。就是交换后:p1指向b(p1=&b)p2指向a(p2=&a)了
第二个是把p1指向的数值和p2指向的数值进行交换,实际上就是直接用a和b进行交换了
2012年02月12日 04点02分
9
level 6
*是取内容运算符。是对一个指针所指向的内容的另一种形式的访问。就是说*只适合于指针(数组也是另一种形式的指针)。temp是变量。肯定不能用*temp啦
2012年02月12日 05点02分
13
level 5
7l正解。
指针这里的确很灵活。楼主需要看指针和实参形参传递方面的内容。
两个基本点是:
1、指针就是地址。
2、实参形参传递都是“单向的”“值传递”,无论传递的内容是地址还是地址中的值。
如果楼主能搞清楚什么时候在调用函数中所做的形参修改,能够影响到主函数中的实参的值,再回头看这个问题,就很明白了。
2012年02月12日 06点02分
14
level 5
我懂了,7l大哥哥再次膜拜,一个换地址一个换内容。艹,太精辟了。。。比书上还明白,比谭豪强牛插多了。
2012年02月12日 15点02分
18