#include <stdio.h>
void test(int P);
int main()
{
int P = 100;
printf("原来的P是%d\n", P);
test(P);
printf("最后的P是%d\n", P);
return 0;
}
void test(int P)
{
P = P + 100;
printf("函数中的P是%d\n", P);
}
函数的形参和实参同名时,函数体内改变形参时,函数体外实参不受影响(代码如上图):
输出结果:
函数体内即使return这个形参,函数体外的实参也不受影响:如下图
#include <stdio.h>
int test(int P);
int main()
{
int P = 100;
printf("原来的P是%d\n", P);
test(P);
printf("最后的P是%d\n", P);
return 0;
}
int test(int P)
{
P = P + 100;
printf("函数中的P是%d\n", P);
return P;
}
但如果把函数体return回来的这个形参数值再次赋值给实参变量,那么,实参变量会改变,如下图
#include <stdio.h>
int test(int P);
int main()
{
int P = 100;
printf("原来的P是%d\n", P);
P=test(P);
printf("最后的P是%d\n", P);
return 0;
}
int test(int P)
{
P = P + 100;
printf("函数中的P是%d\n", P);
return P;
}