首页 / 软件开发 / C语言 / 彻底搞定C语言指针 第五篇
彻底搞定C语言指针 第五篇2010-01-01千里草一、三道考题开讲之前,我先请你做三道题目。(嘿嘿,得先把你的头脑搞昏才行 ……唉呀,谁扔我鸡蛋?)1.考题一:程序代码如下:void Exchg1(int x, int y)
{
int tmp;
tmp=x;
x=y;
y=tmp;
printf (“x=%d,y=%d
”,x,y)
}
void main()
{
int a=4,b=6;
Exchg1 (a,b) ;
printf(“a=%d,b=%d
”,a,b)
}
输出的结果 :x=____, y=____a=____, b=____问下划线的部分应是什么,请完成。2.考题二:代码如下。Exchg2(int *px, int *py)
{
int tmp=*px;
*px=*py;
*py=tmp;
print(“*px=%d,*py=%d
”,*px,*py);
}
main()
{
int a=4;
int b=6;
Exchg2( &a,&b);
Print (“a=%d,b=%d
”, a, b);
}
输出的结果为:*px=____, *py=____a=____, b=____问下划线的部分应是什么,请完成。3.考题三:Exchg2(int &x, int &y)
{
int tmp=x;
x=y;
y=tmp;
print(“x=%d,y=%d
”,x,y);
}
main()
{
int a=4;
int b=6;
Exchg2(a,b);
Print(“a=%d,b=%d
”, a, b);
}
输 出的结果:x=____, y=____a=____, b=____问下划线的部分输出的应是什么, 请完成。你不在机子上试,能作出来吗?你对你写出的答案有多大的把握?正确的答案 ,想知道吗?(呵呵,让我慢慢地告诉你吧!)好,废话少说,继续我们的探索之旅了。我们都知道:C语言中函数参数的传递有:值传递,地址传递,引用传递这三种形式。题一为值 传递,题二为地址传递,题三为引用传递。不过,正是这几种参数传递的形式,曾把我给搞得晕头转向 。我相信也有很多人与我有同感吧?下面请让我逐个地谈谈这三种传递形式。