-4

被调用函数可以更改调用函数范围内的变量值吗?

4

2 回答 2

1

参见C 指针

    #include <stdio.h>

    void funcA(int* a)
    {
      *a = 2;
    }

    void funcB(void)
    {
       int b = 1;

       printf("-> %d\n", b); /* -> 1 */
       funcA(&b);
       printf("-> %d\n", b); /* -> 2 */
    }

    int main(void)
    {
       funcB();
       return 0;
    }
于 2016-01-08T12:30:03.157 回答
0

好吧,这取决于您如何调用该函数。如果您使用按值调用方法,则它不能更改原始值,但如果您使用按引用(指针)方法调用,那么它可以更改提供的值,参数代表您想要更改的相同变量。

于 2016-01-08T12:45:23.983 回答