我没有得到这一部分。如果我不被允许使用全局变量,我怎么能这样做?例如:
main()
{ int z;
function1(&z);
}
function1(int *x)
{
function2(&x);
}
function2(int *number)
{
++(*number);
}
答案 0 :(得分:3)
当function1
拨打function2
时,只需传递x
,而不是&x
。
function1(int *x)
{
function2(x); /* not &x */
}
&x
会将function2
指针传递给指向int
的指针,但声明它只会指向int
。
其他问题:z
应该被初始化,并且函数应该具有前向声明,在main
之上声明。应声明main
返回int
,并在成功时返回0
。如另一个答案中所述,您的其他函数也需要返回类型。
void function2(int *number)
{
++(*number);
}
void function1(int *x)
{
function2(x);
}
int main()
{
int z = 0;
function1(&z);
return 0;
}