Come fixare error: initializer element is not constant

di il
1 risposte

Come fixare error: initializer element is not constant

Ciao a tutti, questo programma
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define DIM 100
#define gennaio 1
#define febbraio 2
#define marzo 3
#define aprile 4
#define maggio 5
#define giugno 6
#define luglio 7
#define agosto 8
#define settembre 9
#define ottobre 10
#define novembre 11
#define dicembre 12

int i;
char mese[DIM];
int conv = atoi(mese);
int main()
{
printf("Inserisci il mese: ");
scanf(" %s", mese);
for(i=0; i<strlen(mese); i++)
    {
        mese[i] = tolower(mese[i]);
    }
switch(conv)
      {
   case 1:
    printf("Gennaio ha 31 giorni");
    break;
      }

}
ricevo questo errore dal compilatore

error: initializer element is not constant|
1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) 

1 Risposte

  • Re: Come fixare error: initializer element is not constant

    Il problema è che non puoi inizializzare la variabile globale conv in questo modo:
    int conv = atoi(mese);
    e comunque non ha nessun senso in quanto mese non è neanche inizializzato.
    Perchè vuoi che quelle variabili siano globali? E poi perchè converti in intero mese prima di averlo letto?
    Suggerimento ulteriore: le costanti scrivile tutte in maiuscolo.
Devi accedere o registrarti per scrivere nel forum
1 risposte