Parse error before 20

di il
9 risposte

Parse error before 20

Ciao.
qualcuno mi spiega perchè mi viene fuori l'errore in allegato?
Cos'è di preciso un parse erorr?
grazie ancora una volta!

9 Risposte

  • Re: Parse error before 20

    Com'è il tuo codice, dalla schermata non si capisce un gran che. Il compilatore ti sta dicendo che non è riuscito a capire cosa volevi scrivere (da cui parse error)
    http://it.wikipedia.org/wiki/Parsin
  • Re: Parse error before 20

    Praticamnete l'errore è nella riga 4, ma non riesco a capire perchè.
    In pratica si può dire che anch'io non capisco cosa mi vuole dire il compilatore.
    Mi sa che tra noi non c'è un bel feeling.....LOL.
  • Re: Parse error before 20

    Il listato eccolo qui:
    #include <stdio.h>
    #define size 20
    int i,max,min,w[size];
    int maxmin(int w[],int size)
    	{
    	int n,max,min;
    	max=min=w[0];
    	for(n=0;n<=size;n++){
    	if (w[n]>max) max=w[n];
    	else if (w[n]<min) min=w[n];} 
    	}
    
    int main (void)
    {
    for(i=0;i<=size;i++) w[i]=i;
    printf("%d\n",w[i]);
    printf("%dmax: %dmin: ", maxmin(w,size),maxmin(w,size));
    return 0;
    }
    
    
  • Re: Parse error before 20

    
    #define size 20
    int maxmin (int w[],int size)
    
    doppione di size
  • Re: Parse error before 20

    No perchè sto passando alla funzione "maxmin" sia il vettore w che la sua dimensione.
  • Re: Parse error before 20

    Come leggi sta riga?
    
    int maxmin (int w[],int 20)
    
  • Re: Parse error before 20

    La #define è una macro del preprocessore ed associa qualcosa ad un identificatore.
    La prima fase della compilazione consiste appunto nella sostituzione macro-->stringa
    nel tuo caso il codice verrà cambiato da:
    
    int maxmin (int w[],int size)
    
    a:
    
    int maxmin (int w[],int 20)
    
    perchè il preprocessore prima di eseguire la compilazione sostituisce 'size' con '20'

    Capito?!?
  • Re: Parse error before 20

    È proprio quello che volevo fare, sostituire tutte le size con il numero 20.
    ma non capisco ancora dov'è l'errore in:
    int maxmin (int w[],int 20)
    praticamnete passo il vettore w e la sua dimensione, appunto 20.
  • Re: Parse error before 20

    Io ci rinuncio con te
    senti cambia il #define e scrivi #define xsize 20, modifica ogni riferimento ed auguri
Devi accedere o registrarti per scrivere nel forum
9 risposte