1

我不明白这部分。如果不允许使用全局变量,我该怎么办?例子:

main()
{ int z;
  function1(&z);
}

function1(int *x)
{
  function2(&x);
}

function2(int *number)
{
   ++(*number);
}
4

1 回答 1

3

function1打电话的时候function2,直接传进去x,不行&x

function1(int *x)
{
  function2(x); /* not &x */
}

&x将传递function2一个指向 an 的指针int,但它被声明为只接受一个指向 an 的指针int

其他问题:z应该被初始化,并且函数应该有前向声明,在上面声明mainmain应该声明返回一个int,并返回0成功。正如另一个答案中所述,您的其他函数也需要返回类型。

void function2(int *number)
{
   ++(*number);
}

void function1(int *x)
{
  function2(x);
}

int main()
{
  int z = 0;
  function1(&z);
  return 0;
}
于 2012-07-20T06:13:44.297 回答