swap(int x,int y)
{
int x1;
x1=x;
x=y;
y=x1;
printf("%d,%d\n",x,y);
}
void main()
{
int x3=5,x4=6;
swap(x3,x4);
printf("%d,%d\n",x3,x4);
getch();
}
你真的晓得了吗?
我刚才的话没讲明白为什么会这样呢!
调用函数,如果不设置返回的话,那么主函数中的值是不会改变的
换句话说主函数中x=5,y=6没有改变
调用函数,只能将形参的值改变
换句话说:
如果不返回的话
就是主函数的实参可以传递给调用函数的形参,但是调用函数的行参是不能传递给主函数的形参的
但是为什么结果会是我上边讲的那个结果呢?
因为现在的编译器都比较“聪明”(这是程序员偷懒的结果)
如果想要得到这个值的话,就必须要用到指针或者数组来储存值
但是这个就不是调用函数的放回值了(一个函数只能有一个返回值!)