#include<stdio.h>
int x1=30,x2=40;
void sub(int x,int y)
{
x1=x;x=y;y=x1;
}
void main()
{
int x3=10,x4=20;
sub(x3,x4);
sub(x2,x1);
printf("%d,%d,%d,%d",x3,x4,x1,x2);
}
运行结果是10,20,40,40.求解释。。。
就是x1的返回值是40,还有点不明白。
“ // x,y值 交换,并且x1=x ,由于没有 返回值, 所以只有 那个
//全局 变量x1的 值 保留了下来”
那为什么X1返回值是40呢?
在 sub 函数里 你又没定义 x1 ,所以 这个 x1 就是外面定义的 全局变量,
第一次 调用 函数 我都 写了 x1=x3=10 ,
第二次调用 函数 我也写了 x1=x2=40 ,
你都没看吧?