2016-03-03 156 views
-2

我不斷收到這個錯誤,「錯誤:使用未聲明的標識符」,Ive搜遍了,他們告訴我說我還沒有聲明'nbr'。我有。這一點的關鍵是要製作一個指向整數值的指針,並且您必須能夠使用指針設置整數的值,我真的迷失在這裏......如果有人能夠深入解釋會很棒的。看到下面的代碼...謝謝...在C:編譯時出錯

#include <unistd.h> 

void ft_ft(int *nbr) 
{ 
int a; 
*nbr = a; 
} 
int main() 
{ 
ft_ft(*nbr); 
return 0; 
} 

備註:我不能使用stdio.h,我不能使用其他.c或.h文件。我不能添加任何其他功能。

+0

如果你已經聲明瞭它,那麼你沒有顯示它。如果這是您的實際代碼,請解釋您在哪裏申報的代碼 – Default

+0

請縮進您的代碼。 –

+0

請縮進您的代碼並閱讀C範圍規則。 –

回答

5
int main() 
{ 
    ft_ft(*nbr); 
    return 0; 
} 

這是開始執行,和NBR尚未定義,除了ft_ft()的範圍內,作爲一個參數,以進行傳遞。變量需要定義和值是有意義的前將它傳遞給一個函數。

1
#include <unistd.h>  // declare a whole bunch of identifiers you never use 

void ft_ft(int *nbr) // declare the identifiers ft_ft, and nbr 
          // ft_ft scope is the whole file from this point onwards 
          // nbr's scope is the ft_ft function 
{ 
int a;     // declare the identifier a 
          // a's scope is from here to the end of the function at the next } 
*nbr = a;     // use nbr and a 
} 
int main()    // declare the identifier main with scope to the end of the file 
{ 
ft_ft(*nbr);    // use the declared identifier ft_ft 
          // with an undeclared nbr 
return 0; 
}