首页 > 用户发贴区 > 编程问题提问区 > 请教一个c函数值传递问题
2007
12-16

请教一个c函数值传递问题


我是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,为什么?


请教一个c函数值传递问题》有 2 条评论

  1. miliya 说:

    因为你的func(int a)函数中的变量a的生命周期随着本函数的结束,自动变量a赋值的10将失效,而外层main函数还没有结束,main函数中int a=0会再次生效,也就是说它的值还会是0,而不会是10< ?:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

  2. wfnh 说:

    形参不能向实参传递数据(指针除外)!!

留下一个回复