C - fscanf () Lecture des Données Dans un Tableau

J'ai une étrange erreur lors de la lecture de mes données dans un tableau. Mon but est de lire un fichier qui a une seule colonne de chiffres dans un tableau, ligne par ligne.

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

C'est mon erreur de compilation:

sort_algorithms.c: In function ‘main’: sort_algorithms.c:6: erreur:
attendu expression before ‘[’ token sort_algorithms.c:16: erreur:
indice de la valeur n'est ni tableau, ni pointeur

  • Quelle est l'erreur? int numArray = [20] n'est pas une erreur de syntaxe, vous signifiait probablement int numArray[[20]? Et peut-être plus important encore, vous avez un énorme trou de sécurité—ce qui se passe si le fichier contient plus de 20 numéros-t-il?
  • nick_name: ce n'est pas la façon dont vous déclarez un tableau....
  • Êtes-vous par hasard un programmeur python?
  • Oui, je suis un programmeur Python!
  • Quel est le problème avec int numArray = [20]?
  • Pour la déclaration: int numArray[20]; Pour l'initialisation: int numArray[20] = {20}, et le [20] signifie un tableau avec une taille de 20, pas l'élément.
  • les littéraux de tableau sont fermés entre {}, il n'est []. et il ne peut pas être utilisé comme gratuit comme en python, c'est à dire que vous ne pouvez pas attribuer, sauf lors de l'initialisation.

InformationsquelleAutor nick_name | 2011-07-19