
|
作者: 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号