【问题标题】:C - fscanf() - Reading Data Into an ArrayC - fscanf() - 将数据读入数组
【发布时间】:2011-07-19 04:14:16
【问题描述】:

将我的数据读入数组时遇到一个奇怪的错误。我的目标是将包含单列数字的文件逐行读取到数组中。

#include <stdio.h>

int main() {
    int numArray = [20];
    int i = 0;

    FILE *infile;
    infile = fopen("numbers", "r");

    while(!feof(infile))
    {
        fscanf(infile,"%d",&numArray[i]);
        i++;
    }

    fclose(infile);
    return 0; }

这是我的编译错误:

sort_algorithms.c:在函数“main”中:sort_algorithms.c:6:错误: '[' 标记 sort_algorithms.c:16 之前的预期表达式:错误: 下标值既不是数组也不是指针

【问题讨论】:

  • 错误是什么? int numArray = [20] 不是有效的语法,您的意思可能是 int numArray[[20]?也许最重要的是,您有一个巨大的安全漏洞——如果文件中包含超过 20 个数字会怎样?
  • 昵称:这不是你声明数组的方式......
  • 你是 python 程序员吗?
  • 是的,我是一名 Python 程序员!
  • int numArray = [20] 有什么问题?

标签: c arrays scanf


【解决方案1】:

在c中声明数组的正确方法是这样的:

int numArray[20];

【讨论】:

    猜你喜欢
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    • 1970-01-01
    • 2023-02-01
    相关资源
    最近更新 更多