如何在函数中生成动态数组并在另一个函数中将其反转并将其返回到屏幕?

时间:2017-12-17 18:10:51

标签: c arrays function dynamic-arrays

我知道一些C ++,但我需要在C中做到这一点,这似乎要复杂得多。正如您可以从我的代码中看到的那样,我尝试使用一个生成数组的函数,然后使用一个不同的函数来反转此数组的顺序。生成数组的函数只是一个虚函数,它将被来自不同编程语言的输入所取代(这将通过将值映射到C中可识别的值的函数来完成)。反向函数,甚至很难我知道怎么做我不知道如何将我的generateArray中的值传递回main并进入reverseArray(它需要按此顺序发生我不能从generateArray中调用reverseArray)。

此外,我现在的代码中出现错误,其中包含:

reverse.c:在函数'main'中: reverse.c:19:5:警告:赋值从整数中生成没有强制转换的指针[-Wint-conversion]    p = generateArray(m);

reverse.c:在函数'generateArray'中: reverse.c:42:8:警告:返回从指针生成整数而没有强制转换[-Wint-conversion]  返回a;

#include <stdio.h>
#include <time.h>
#include <stdlib.h>


//int reverseArray();
int generateArray(int size);

int main()
{

   int seed = time(NULL);
   int *p;
   int m;

   printf("please insert the size of the array:");
   scanf("%d",&m);

   p = generateArray(m);

   for (int i=0;i<m;i++)
   {
      printf("%d \n", *(p+i));
   }


return 0;
}

   int generateArray(int size)
   {

   static int *a;

   a = (int *)malloc(size*sizeof(int));

     for(int i=0;i<size;i++)
     {
       a[i]=rand()%12+1;
     }

   return a;

   }

//int reverseArray(){}

0 个答案:

没有答案