2014-02-26 76 views
-3

這是我的函數聲明太少參數函數「功能(INT ANS)」

int boygroups(int ans); 

,這是我的函數定義

int boygroups(int ans) {    
switch (p) { 
    case 1: printf("\n\n\n\t\t\t\t1. %s\n",songs[0].una); 
     printf("\t\t\t\t2. %s\n",songs[0].pangalawa); 
     printf("\t\t\t\t3. %s\n",songs[0].pangatlo); 
     printf("\t\t\t\t4. %s\n",songs[0].pangapat); 
     break; 
    case 2: printf("\n\n\n\t\t\t\t1. %s\n",songs[1].una); 
     printf("\t\t\t\t2. %s\n",songs[1].pangalawa); 
     printf("\t\t\t\t3. %s\n",songs[1].pangatlo); 
     printf("\t\t\t\t4. %s\n",songs[1].pangapat); 
     break; 
    case 3: printf("\n\n\n\t\t\t\t1. %s\n",songs[2].una); 
     printf("\t\t\t\t2. %s\n",songs[2].pangalawa); 
     printf("\t\t\t\t3. %s\n",songs[2].pangatlo); 
     printf("\t\t\t\t4. %s\n",songs[2].pangapat);  
     break; 
    case 4: printf("\n\n\n\t\t\t\t1. %s\n",songs[3].una); 
     printf("\t\t\t\t2. %s\n",songs[3].pangalawa); 
     printf("\t\t\t\t3. %s\n",songs[3].pangatlo); 
     printf("\t\t\t\t4. %s\n",songs[3].pangapat);  
     break; 

}   
} 

我的聲明和定義是一樣的,我不知道爲什麼我不斷收到這樣的錯誤。

+1

我在這裏看不到任何錯誤。錯誤是什麼樣子的?它會發生什麼行號? – larsks

+1

你打電話給'boygroups'?另外,'p'是什麼? – Anthony

+0

函數名稱爲'function()'的地方在哪裏? –

回答

2

爲什麼不simplifiying整個事情:

int boygroups(int ans) { 
    printf("\n\n\n\t\t\t\t1. %s\n",songs[p-1].una); 
     printf("\t\t\t\t2. %s\n",songs[p-1].pangalawa); 
     printf("\t\t\t\t3. %s\n",songs[p-1].pangatlo); 
     printf("\t\t\t\t4. %s\n",songs[p-1].pangapat);  
} 

這相當於你boygroups功能,但要短得多。

+0

...除了缺少邊界檢查;-) – Roddy

+0

@Roddy:當然,但無論如何,我們不知道'p'來自哪裏,也許它已經在正確的範圍內。 –