2016-05-30 27 views
-1

我在寫一段代碼時遇到了一個小問題。 我必須使用void函數來並排打印矩陣和普通數組的內容。問題是我不知道如何調用MAIN函數中的函數以便可以打印。呼叫C中的VOID功能

我試圖把它分配給一個變量,但是我得到的空值不被忽略,因爲它應該是。僅僅調用這個函數也不行。目前,我對如何在Main中使用VOID功能毫無頭緒。

這是我必須打印的功能。 MAIN中的呼叫位於開關盒內。

void print_all(char warehouse[][M], float price[], int n) 
{ 
printf("\n\n"); 
int m=0, p=0; 

for (m=0; m<n; m++) 
    { 
     for (p=0; p<M; p++) 
      { 
      printf("%c TEST", warehouse[m][p]); 
      } 
     printf(" %.2f Euros\n", price[m]); 
    } 
} 
+2

請不要將'main()'寫成'MAIN' .... –

+0

只是寫'print_all();' –

+1

爲什麼你發佈一個函數的實現,如果你的問題是關於如何調用它的話? – EOF

回答

0

你的主要應該是這樣的:

#include <stdio.h> 

    void print_all(warehouse[][M], float price[], int n); 

    int 
    main(int argc, char *argv[]) { 

     char warehouse[][]; /* whatever your limits are in the arrays */ 
     float price[]; 

     print_all(warehouse, price, n); 
     return 0; 
    } 

如果你只是做到這一點,並確保包括數組的大小和n好友變量它總是伴隨着陣列,你應該沒問題。

+0

這幫你打印結果@Robert Tudor? – RoadRunner

+0

是的,我基本上做了同樣的事情..感謝很多的幫助。 –

+0

是啊,不用擔心:)。我感覺這個問題只是一個腳手架問題。 – RoadRunner

0

它很簡單。

#include <stdio.h> 

void print_all(char warehouse[][4], float price[], int n) 
{ 
printf("\n\n"); 
int m=0, p=0; 
int M = 4; 

for (m=0; m<n; m++) 
    { 
     for (p=0; p<M; p++) 
      { 
      printf("%c TEST", warehouse[m][p]); 
      } 
     printf(" %.2f Euros\n", price[m]); 
    } 
} 

int main() 
{ 

char warehouse[4][4] = { '1', '2', '3', '4', '1', '2', '3', '4', '1', '2', '3', '4' , '1', '2', '3', '4'}; 
float price[4] = {23.00, 24.00, 25.00, 26.00}; 

/* Store values in warehouse & price. Then call it like this */ 
print_all(warehouse, price, 4); 
return 0; 
} 

結果:

1 TEST2 TEST3 TEST4 TEST 23.00 Euros                                            
1 TEST2 TEST3 TEST4 TEST 24.00 Euros                                            
1 TEST2 TEST3 TEST4 TEST 25.00 Euros                                            
1 TEST2 TEST3 TEST4 TEST 26.00 Euros