C语言中自定义函数时,值传递是单向的,由实参传递给形参
无论对形参做什么运算,都不会改变实参的值
但是,若想要利用自定义函数来改变实参的值,可以利用指针传递
举个栗子:
#include<stdio.h>
void exch();
int main()
{ //简单地做了个交换两个数字的程序
int a,b;
scanf("%d %d",&a,&b); //输入a、b的值
printf("\n\noriginal_a=%d\noriginal_b=%d\n\n",a,b); //输出a、b原始的值
exch(a,b); //调用函数,在函数内交换两个数字,这里传递的a、b的值是实参
printf("\n\nnew_a2=%d\nnew_b=%d\n\n",a,b); //输出经函数运算后的a、b的值
return 0;
}
void exch(int excha,int exchb) //可以看到,这里定义的是两个整型的临时变量
{
int exchc;
exchc=excha;
excha=exchb;
exchb=exchc;
printf("\n\nexcha=%d\nexchb=%d\n\n",excha,exchb); //输出函数运行后的结果,即交换