|
![]() | 作者: TecZm [teczm]
![]() |
登录 |
老谭《C语言程序设计》中有个例程,如下: 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("\na =%d.b = %d\n\n",a,b); print("max =%d,min =%d\n",*p1,*p2); } 我的疑问是 p 是什么? p没有赋值,{p=p1;p1=p2;p2=p;}这怎么理解呢? [此贴被 TecZm(teczm) 在 09月02日09时42分 编辑过] |
地主 发表时间: 04-09-02 09:26 |
![]() | 回复: 286 [unique] ![]() |
登录 |
p=p1;p1=p2;p2=p; p,p1,p2是三个杯子,分别为空,盛满红茶水,盛满绿茶水。 要求,把p1,p2两杯中的茶水交换。 一个可行的办法就是红倒入空(p=p1),然后绿倒入原装红的(现在为空)(p1=p2),空倒入绿(此时空有红茶,绿为空)(p2=p)。 不能说p没有赋值,p=p1就是赋值。 |
B1层 发表时间: 04-09-02 09:37 |
![]() | 回复: TecZm [teczm] ![]() |
登录 |
哦,明白了。谢谢! |
B2层 发表时间: 04-09-02 09:41 |
![]() | 回复: SysHu0teR [syshunter] ![]() |
登录 |
我现在明白了,286肯定是教师! |
B3层 发表时间: 04-09-02 13:09 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号