在 C 中调用 VOID 函数

Calling of a VOID function in C

我正在编写的代码有一个小问题。 我必须使用 void 函数并排打印矩阵和普通数组的内容。问题是我不知道如何在 MAIN 函数中调用该函数以便打印它。

我试图将它分配给一个变量,但后来我得到了 void 值,因为它应该是 而没有被忽略。单独调用该函数也不起作用。目前我对如何在 Main 中使用 VOID 函数一无所知。

这是我要打印的函数。 MAIN 中的调用在 switch case 中。

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]);
     }
}

很简单。

#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

您的主要内容应如下所示:

    #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 伙伴变量,您应该没问题。