2014-06-19 29 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); 
}