循环语法错误的程序

时间:2014-03-17 16:57:19

标签: c syntax-error undeclared-identifier

#include<stdio.h>
#include<conio.h>
#include<string.h>


int fun1(int *_array)
{
    for(int i = 0; i < 5; i++) {
        printf("\nenter an input\n");
        scanf("%f", &_array[i]);
    }

}
int main()
{
    int _array[5];
    int sum;

    fun1(&_array[5]);

    printf("\nInput    Value    Address\n");
    for(int i = 0; i < 5; i++) {
        printf("%d          %_array          %_array\n", i, _array[i], &_array);
    }
    for(int s = 0; s < 5; s++) {
        sum += _array[s];
    }
    printf("The sum of these values is %d", sum);
    getch();
}

我尝试编译这个,我得到一个长列表(28个错误)的错误。 它们似乎主要是语法和未声明的标识符错误,在我所拥有的三个for循环中,但它们没有意义,因为循环和计数器似乎是正确编写和声明的。任何人都可以解释/看看我做错了吗?

我在最近编写的其他程序中遇到类似的问题,包括for循环,所以任何帮助/见解都会有所帮助

1 个答案:

答案 0 :(得分:2)

也许你正在使用C89编译器?

C99引入了一些新的东西,其中包括for控制组中变量的定义。

for (int i = 0; i < 1; i++) printf("%d\n", i); // only C99
//   ^^^^ new stuff in C99

C89语法中的相同循环必须是

int i;
for (i = 0; i < 1; i++) printf("%d\n", i);