我知道一些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(){}