|  | 
 
| 
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  复制代码#include <stdio.h>
void add(int a, int b){  
       a+=3;
       b*=6;
       printf("a=%d, b=%d\n",a,b);
}
int main(){
       int x=1, y=2;
       add(x, y);
       printf("x=%d, y=%d\n", x, y);
       return 0;
} 
这个代码运行出来的结果是
 x=4, y=12
 x=1, y=2
 两个数在自定义的函数里的结果没有带出来
 
 复制代码#include <stdio.h>
void swapArray(int a[ ],int b[ ],int length);
int main(){
        int arr1[3]={1,3,5};
        int arr2[3]={2,4,6};
        int i;
 
        for(i=0;i<3;i++)
                printf("%d  ",arr1[i]);
        printf("\n");
 
        for(i=0;i<3;i++)
                printf("%d  ",arr2[i]);
        printf("\n");
 
        swapArray(arr1,arr2,3);
 
        for(i=0;i<3;i++)
                printf("%d  ",arr1[i]);
        printf("\n");
 
        for(i=0;i<3;i++)
                printf("%d  ",arr2[i]);
        printf("\n");
 
        return 0;
}
 
void swapArray(int a[],int b[],int length){
        int i,temp;
        printf("swapping now\n");
        for(i=0;i<length;i++){
                temp=a[i];
                a[i]=b[i];
                b[i]=temp;
        }
}
这个代码运行出来的结果是
 1  3  5
 2  4  6
 swapping now
 2  4  6
 1  3  5
 两个数组在自定义函数里交换后的结果被带出来了,这是为什么?
 | 
 |