笔试题之一:函数的指针类型参数的引用问题

 

void func(int *ptr, int &value)
{
     ptr = &value; 
}
int main()
{
     int i = 10, j = 5;
     int *ptr = &i;
     func( ptr, j);
     printf("%d", *ptr);
     return 0;
}

请问,此时输出来的*ptr的值是多少?5还是10?

答案是10。

这里主要涉及到函数参数问题,同int类型一样,指针也存在引用的问题。

如果上面的函数声明改为:

void func (int* &ptr, int &value);

则答案就是5了。

posted @ 2011-05-16 09:23  AnnieKim  阅读(725)  评论(1编辑  收藏  举报