C语言知识点二十七: 改变调用函数中的变量
1. 下面的程序是为了互换两个变量的值。
#include<stdio.h>
void interchange(int u, int v);//声明函数
int main()
{
int x = 5, y = 10;
printf("Originally x = %d and y = %d.\n", x, y);
interchange(x,y);
printf("Now x = %d and y = %d.\n", x, y);
return 0;
}
void interchange(int u, int v)//定义函数
{
int temp;
temp = u;
u = v;
v = temp;
}
程序输出如下:
程序的解释与评价:
该程序目的是为了交换两个变量的值,但显然两个变量的值没有互换。
2. 在看下面的程序:
#include<stdio.h>
void interchange(int u, int v);//声明函数
int main()
{
int x = 5, y = 10;
printf("Originally x = %d and y = %d.\n", x, y);
interchange(x,y);
printf("Now x = %d and y = %d.\n", x, y);
return 0;
}
void interchange(int u, int v)//定义函数
{
int temp;
temp = u;
u = v;
v = temp;
printf("Now u = %d and v = %d.\n", u, v);
}
程序输出如下:
程序的解释和评价:在interchange函数中实现了两个变量的值的交换,但没有交换主函数中两变量的值。主函数只是把主函数中的两个变量的值传给了函数inerchange的形参,想要改变主函数中两变量的值就需要用到指针。