使用指针和引用功能

时间:2014-11-21 17:44:06

标签: c

编程很新,所以请耐心等待, 我正在尝试创建一个代码,提示用户输入数组的大小,然后使用指针调用函数来获取所有偶数到输入的整数,我不知道该怎么做这里这里是到目前为止我所拥有的:

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

2 个答案:

答案 0 :(得分:0)

在C语言中,数组大小必须是常量 与java或C#不同,您不能拥有大小为10的数组,然后在程序运行时将其更改为15。 因此,数组的大小必须是一个const数(或一个define,基本上是相同的东西) 同样,定义是不能像变量一样改变的东西。

答案 1 :(得分:0)

只是在代码中指出多个违规行为。

  1. 你正在使用main(),它不是main()的正确原型,它应该是

    int main()

  2. 接下来在您的函数getEvenNumbers()中,您试图返回本地变量的地址,因此您应该低于警告。

    warning: function returns address of local variable

  3. SIZE是一个整数文字,所以当你执行SIZE =n;时,你应该得到以下错误。

    error: lvalue required as left operand of assignment

  4. 函数调用ptr=getEvenNumbers();错误,需要一个辩护。