我是c语言初学者,最近碰到一个问题,请高手们不吝赐教。 void func(int a) { a = 10; //让参数a等于10 }void main() { int a = 0; //初始化a值为0 func(a); //调用函数func printf(“%d”,a); //输出a的结果 } //定义函数func void func(int a) { a = 10; //让参数a等于10 } 结果为0.而不是10,为什么?
>> 本文固定链接: http://www.vcgood.com/archives/2021
因为你的func(int a)函数中的变量a的生命周期随着本函数的结束,自动变量a赋值的10将失效,而外层main函数还没有结束,main函数中int a=0会再次生效,也就是说它的值还会是0,而不会是10< ?:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
形参不能向实参传递数据(指针除外)!!