黑马程序员技术交流社区
标题:
关于指针问题。
[打印本页]
作者:
ios_fce
时间:
2014-4-25 22:11
标题:
关于指针问题。
void Exchg2(int *px, int *py)
{
int tmp = *px; *px = *py;
*py = tmp;
printf("*px = %d, *py = %d.\n", *px,*py);
} main()
{ int a = 4; int b = 6; Exchg2(&a, &b); printf("a = %d, b = %d.\n", a, b); return(0);
}
复制代码
输出的结果为为:
*px=____, *py=____. a=____, b=____.
麻烦解析清楚。。。。
作者:
桑托尔
时间:
2014-4-25 22:27
*px = 6, *py = 4
a = 6 , b = 4
稍微调整一下 以方便阅读
#include <stdio.h>
//互换指针的函数
void Exchg2(int *px, int *py)
{
//建立临时变量tmp 以存储*px的地址值
int tmp = *px;
//将*py的地址值赋存储到*px上
*px = *py;
//再将tmp值,即原*px的地址值赋值给*py,以达到*px与*py两地址值互换
*py = tmp;
//再将px与py两地址所对应的值分别打印出来。
printf("*px = %d, *py = %d\n", *px,*py);
}
int main()
{
int a = 4;
int b = 6;
//运行互换函数,互换a与 b的地址
Exchg2(&a, &b);
printf("a = %d, b = %d\n", a, b);
return 0;
}
复制代码
另外哥们 return 0 不用加括号
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2