为什么函数执行之后值不会变呢

设函数void subone (int)将形参值减1,如有整形变量int b=10;则执行subone(b)后,b的值为(  B )
A.9 B.10 C.11 D.未知

为什么函数执行之后值不会变呢

int a=1;
int b=a;
b=b-1;
a的值会变吗
如果你理解了这个,那形参实参什么的就不再是问题了

传参只是把 b 的数据拷贝一份给 subone() 函数的形参 b,虽然两个变量名字都是 b,但是它们其实不是同一个,subone() 函数的 b 的作用域只在这个函数里面,函数执行完毕这个局部变量 b 也就消失了,自然不会影响到外面的 b,只有把 外面b 的地址传进函数进行操作才能改变它的值,传数据是不可以的。