子函数参数传递地址

来源:岁月联盟 编辑:exp 时间:2012-09-19
 #include<stdio.h>
 void fa(int a) /* 在函数中改变a,将不会带回主调函数(主调函数中的a仍是原值) */
 {
   a++;
   printf("在函数fa中:a=%d/n",a);                                      a=2
 }
 void fb(int *a) /* a为指针类型,在函数中改变*a,改变后的值将带回主调函数 */
 {
   (*a)++;
   printf("在函数fb中:*a=%d/n",*a);                                     a=2
 }
 void main()
 {
   int n=1;
   printf("在主程中,调用函数fa之前:n=%d/n",n);           n=1
   fa(n);
   printf("在主程中,调用函数fa之后,调用函数fb之前:n=%d/n",n);        n=1
   fb(&n); /* 实参为n的地址 */
   printf("在主程中,调用函数fb之后:n=%d/n",n);                 n=2
 }

图片内容