正在加载图片...
靳润昭C语言教程讲义 2001年2月17日 pointer 1 & ointer 2 b 9 接着执行ⅱf语句,由于a〈b,因此执行swap函数。注意实参 pointer1和 pointer2是 指针变量,在函数调用时,将实参变量的值传递给形参变量。采取的依然是"值传递〃方式 因此虚实结合后形参p1的值为&a,p2的值为&b。这时p1和 pointer1指向变量a,p2和 pointer2指向变量b ointer_1 x pointer 接着执行执行swap函数的函数体使*l和*p2的值互换,也就是使a和b的值互换。 a inter nter 2 &b 函数调用结束后,p1和p2不复存在(已释放)如图。 pointer pointer_2 b 最后在main函数中输出的a和b的值是己经过交换的值。 请注意交换*p1和*p2的值是如何实现的。请找出下列程序段的错误: swap(int *pl, int *p2) 冰te /*此语句有问题* 率pl=*p2 第8页靳润昭 C 语言教程讲义 2001 年 2 月 17 日 第8页 接着执行 if 语句,由于 a〈b,因此执行 swap 函数。注意实参 pointer_1 和 pointer_2 是 指针变量,在函数调用时,将实参变量的值传递给形参变量。采取的依然是“值传递”方式。 因此虚实结合后形参 p1 的值为&a,p2 的值为&b。这时 p1 和 pointer_1 指向变量 a,p2 和 pointer_2 指向变量 b。 接着执行执行 swap 函数的函数体使*p1 和*p2 的值互换,也就是使 a 和 b 的值互换。 函数调用结束后,p1 和 p2 不复存在(已释放)如图。 最后在 main 函数中输出的 a 和 b 的值是已经过交换的值。 请注意交换*p1 和*p2 的值是如何实现的。请找出下列程序段的错误: swap(int *p1,int *p2) {int *temp; *temp=*p1; /*此语句有问题*/ *p1=*p2; *p2=temp;
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有