#include <stdio.h>
void swap(int a,int b);
int main()
{
int a = 5;
int b = 6;
swap(a,b);
printf("a=%d b=%d\n",a,b);
return 0;
}
void swap(int a,int b)
{
int t = a;
a = b;
b = t;
}
像这样的一个程序,能实现将a、b的值交换吗?
答案是不可以!
记住C语言在调用函数时,永远只能传值给函数
在程序运行的过程中,程序是将a的5,b的6交给了swap函数里面的a和b。而main里面的a和b与swap里面的a和b是没有任何关系的,虽然它们名字相同但他们在不同的地方。
传值
每个函数都有自己的变量空间,参数也位于这个独立的空间中,和其他函数没有关系
main里面的我们称为值,函数里面的我们称为参数