以下程序运行的结果是( )。 #include <stdio.h> void fun(int *p
以下程序运行的结果是( )。 #include <stdio.h> void fun(int *p
日期:2014-07-14 23:12:38 人气:1
3,2
c的函数传递是值传递的,也就是相当于新申请了两个变量复制了你传进去的变量
注意到这个函数传递的是指针,fun的效果是直接交换了指针所指向的元素的值,所以是真正的交换了
它相当于
int t,*p1,*p2;p1 = &a;p2 = &b;t = *p1;*p1 = *p2;*p2 = t;
假如是
void fun1(int p1,int p2){ int t; t = t1; t1 = t2; t2 = t;}那就不交换了
因为它相当于
int t,p1,p2;p1 =