编程很新,所以请耐心等待, 我正在尝试创建一个代码,提示用户输入数组的大小,然后使用指针调用函数来获取所有偶数到输入的整数,我不知道该怎么做这里这里是到目前为止我所拥有的:
#include<stdio.h>
#define SIZE 100
int *getEvenNumbers();
main()
{
int *ptr,N;
printf("Please enter an integer: ");
scanf("%d", &N);
SIZE=N;
int even[SIZE];
ptr=getEvenNumbers();
printf("%d",*ptr);
}
int *getEvenNumbers(int *even)
{
int point=0;
for(point=1;point<=SIZE;point++)
if(point%2==0)
//point = 12;
return (&point);
}
答案 0 :(得分:0)
在C语言中,数组大小必须是常量 与java或C#不同,您不能拥有大小为10的数组,然后在程序运行时将其更改为15。 因此,数组的大小必须是一个const数(或一个define,基本上是相同的东西) 同样,定义是不能像变量一样改变的东西。
答案 1 :(得分:0)
只是在代码中指出多个违规行为。
你正在使用main(),它不是main()的正确原型,它应该是
int main()
接下来在您的函数getEvenNumbers()中,您试图返回本地变量的地址,因此您应该低于警告。
warning: function returns address of local variable
SIZE
是一个整数文字,所以当你执行SIZE =n;
时,你应该得到以下错误。
error: lvalue required as left operand of assignment
函数调用ptr=getEvenNumbers();
错误,需要一个辩护。