2014-06-19 33 views
-1

代码:传递数组元素的功能在C

#include<stdio.h> 
void display (int *); 
void show(int **); 
int main() 
{ 
    int a[3] = {1,2,3} ; 
    display(&a[2]); 
    return 0 ; 
} 
void display(int *n) 
{ 
    show(&n); 
} 
void show (int *m) 
{ 
    printf("%d",**m); 
} 

我的目标是定义一个函数名“显示”,它可以从一个函数名“显示”和两者的功能(“节目”被称为和“display”)必须通过引用来调用。上面的程序在“show()”的“printf行”上给出了“一元'*'的无效类型参数”的错误。这个程序有没有错误?在定义的show

+2

你会增加你得到答案的机会,如果你缩进你的代码。 – bitmask

+4

'void show(int * m)' - >'void show(int ** m)' – BLUEPIXY

+0

它可以通过引用调用的参数而不是函数。 – pankaj

回答

0

函数声明不符合其prototype.Change

void show (int *m) 
{ 
    printf("%d",**m); 
} 

匹配

void show (int **m) 
{ 
    printf("%d",**m); 
}