【问题标题】:Program for loop syntax errors [closed]循环语法错误的程序[关闭]
【发布时间】:2014-03-17 16:57:18
【问题描述】:
#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 循环,所以任何帮助/见解都会有帮助

【问题讨论】:

  • 这:%_array 不是 printf 中的有效格式说明符,使用 %p 作为指针地址,使用 %f 作为浮点数。
  • 我认为我从未将%_array 视为 printf 的有效转换字符...
  • 你需要在这里发布错误。
  • 我建议你选择一本基础的C书,读一读然后......
  • 这个问题似乎离题了,因为代码中的错误太多,无法在一篇文章中解决。请参考教程。

标签: c syntax-error undeclared-identifier


【解决方案1】:

也许您正在使用 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);

【讨论】:

    猜你喜欢
    • 2012-12-09
    • 1970-01-01
    • 1970-01-01
    • 2012-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-19
    • 2017-07-09
    相关资源
    最近更新 更多