首页 > 试题广场 >

写出以下程序的运行结果:

[问答题]
写出以下程序的运行结果:

#include<stdio.h>

void swap1(int x, int y)

{   
    int t;

    t=x; x=y; y=t;

}

void swap2(int *x,int *y)

{   
    int t;

    t=*x; *x=*y;*y=t;

}

void main()

{  
    int x,y;

    x=1 ; y=3;

    swap1(x,y);

    printf("x=%d y=%d\n",x,y);

    x=1; y=3;

    swap2(&x,&y);

    printf("x=%d y=%d\n",x,y);

}

1 3
3 1
swap1函数只对形参进行操作,函数调用结束后形参释放,对实参来源变量并无操作和影响。
swap2函数实参为指针(变量地址),函数内对地址解引用,寻址修改其存储信息,故可以交换存储内容。
发表于 2020-07-13 01:02:40 回复(0)
1,3   3,1
发表于 2020-07-11 16:11:42 回复(1)