|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Prentis 于 2015-6-6 12:42 编辑
- /***************************
- * 从大到小输出两个数 *
- ***************************/
- #include <stdio.h>
- int main(void)
- {
- int a, b, *p1, *p2;//a,b为从键盘输入的两个数,p1,p2为分别指向这两个数的指针
- void change(int *x,int *y);
- scanf_s("%d %d", &a, &b);
- p1 = &a;
- p2 = &b;
- if (a < b)
- {
- change(p1, p2);//执行交换
- }
- printf("%d %d\n", *p1, *p2);
- system("pause");
- return 0;
- }
- void change(int *x, int *y)
- {
- int *p;//声明临时变量
- p = x;
- x = y;
- y = p;
- }
- #if 0
- 我知道此处应改为如下,但是都是指针为什么不能互传地址?
- void change(int *x, int *y)
- {
- int p;//声明临时变量
- p = *x;
- *x = *y;
- *y = p;
- }
- #endif
复制代码
最终不论输入什么数,都是按原样打印出来 |
|