📄 函数 同名变量.cpp
字号:
/**/
#include<stdio.h> //导入包含I/O函数的头文件stdio.h
void f1() //定义被调函数f1(),无返回值,无参数
{
int x=10,y=20;
printf(" 在f1()函数中, x的值=%d, y的值=%d\n",x,y);
}
void f2() //定义被调函数f2(),无返回值,无参数
{
int x=30,y=40;
printf(" 在f2()函数中, x的值=%d, y的值=%d\n",x,y);
}
int add(int x,int y) //定义被调函数add(),返回整型值,整型形参
{
return x+y; //返回x+y的值回主调函数
}
void f31(int x,int y) //定义被调函数f31(),无返回值,整型形参.实参值单向传与形参,形参运算后其值不传回实参
{
int temp;
temp=y;y=x;x=temp; //只是函数内的x值与y值交换,与主调函数的x与y无关
}
void f32(int *x,int *y) //定义被调函数f32(),无返回值,整型形参指针获得实参中的地址值
{
int temp;
temp=*y;*y=*x;*x=temp; //被调函数内x值与y值交换,等同于主调函数的x值与y值交换
}
void f4(int *x,int *y)
{
(*x)++; //自加1
(*y)--; //自减1
}
void main() //主函数
{
printf("\n\t\t函数同名变量的使用:\n\n");
printf(" 被调函数内声明的局部变量与 main()函数中的同名变量互不干扰\n\n");
f1(); //调用f1()函数
f2(); //调用f2()函数
int x=50,y=60,z,*px=&x,*py=&y;
printf("\n main()函数中调用被调函数前, x的值=%d, y的值=%d\n",x,y);
z=add(x,y);
printf(" main()函数中调用add()函数后, 获得返回值为 x+y=%d\n",z);
f4(px,py);
printf(" main()函数中调用f4() 函数后, x的值=%d, y的值=%d. 实参中地址值传与形参,实参值改变即为形参值改变\n",x,y);
x=50,y=60;
f31(x,y);
printf(" main()函数中调用f31()函数后, x的值=%d, y的值=%d. 实参值单向传与形参,被调函数内的x值与y值交换后,形参值不传回给主调函数的实参\n",x,y);
f32(&x,&y);
printf(" main()函数中调用f32()函数后, x的值=%d, y的值=%d. 实参中地址值传与形参,被调函数内的x值与y值交换,即为主调函数的x值与y值交换\n",x,y);
printf("\n\tOK!\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -