+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 6 su 6

Errore " multiple definition of 'main' "

  1. #1
    marcobresci non è in linea Novello
    Ho scoperto il linguaggio C all'univesità, nel 1997, quando avevo 46 anni. Oggi, a 70, l'ho incrociato per caso e mi ha ripreso ad intrigare. Ho bisogno di un aiuto: mi succede che diversi files funzionano se fatti partire da DEV++, ma l'eseguibile non funziona.

    Il sito GDB on line, quando gli do in pasto il file, mi segnala: "multiple definition of `main'". Stessa cosa per la maggior parte dei files fatti con DEV++.

    C'è qualche anima buona che sa spiegarmi l'arcano? Il codice più semplice tra quelli che ho scritto e che dà errore è questo:

    #include<stdio.h>
    
    main()
    {
    	int numero;
    	
    	printf("\n inserisci un numero tra 1 e 10:  ");
    	scanf("   %d",&numero);
    	
    	if(numero >=01 && numero <=10)
    	
    		printf("\n hai correttamente inserito il numero: %d\n\n",numero);
    	else
    		printf("\n il numero inserito e' fuori intervallo\n\n");
    
    }
    
    Ultima modifica di AntonioG; 23-01-2021 19:54  Motivo: Tag CODE e Titolo

  2. #2
    Marco ... è vero che è il tuo primo post ma devi leggere e rispettare il regolamento prima di postare (attenzione alla regola sul crossposting).

    Attenzione al titolo ("Aiuto" non è utile e non è consentito, lo cambio io questa volta) e al codice che dovrai postare usando i tag CODE (anche questa volta lo modifico io). Attenzione alle prossime volte.

    Per il tuo quesito, se scrivi

    #include <stdio.h>
    
    int main()
    {
    	int numero;
    	
    	printf("\n inserisci un numero tra 1 e 10:  ");
    	scanf("   %d",&numero);
    	
    	if(numero >=1 && numero <=10)
    	
    		printf("\n hai correttamente inserito il numero: %d\n\n",numero);
    	else
    		printf("\n il numero inserito e' fuori intervallo\n\n");
    
        return 0;
    }
    
    non dovresti avere problemi se non hai più di un file con una funzione main.
    Ultima modifica di AntonioG; 23-01-2021 20:15 
    ℹ️ Leggi di più su AntonioG ...

  3. #3
    marcobresci non è in linea Novello
    Mi scuso: la fretta è cattiva consigliera: leggerò le regole con attenzione. Ti ringrazio per la risposta, ma purtroppo l'eseguibile che ne è derivato si chiude dopo aver inserito il numero e dato invio, sia se il numero è dentro l'intervallo, sia fuori.

  4. #4
    Questo è un altro discorso. Non c'entra nulla con l'errore "multiple definition of main". Così facciamo confusione.

    Che l'eseguibile si chiuda vuol dire solo che è terminato, ed effettivamente termina. Il messaggio viene visualizzato ma per pochissime frazioni di secondo e non riesci a vederlo.

    Prova ad inserire prima del return una chiamata che attenda un tasto da tastiera, ad esempio

    char var;
    scanf(" %c", &var);


    prima di

    return 0;
    ℹ️ Leggi di più su AntonioG ...

  5. #5
    Oppure, apri una finestra console con il comando

    cmd

    e al suo interno spostati nella cartella dove c'è l'eseguibile con il comando cd

    e poi esegui il tuo file exe
    ℹ️ Leggi di più su AntonioG ...

  6. #6
    marcobresci non è in linea Novello
    Ri-grazie, AntonioG

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. In un modulo Me o Main
    Da christian_Boy nel forum Microsoft Access
    Risposte: 28
    Ultimo Post: 10-11-2014, 17:59
  2. Get&Set nel main
    Da Scar nel forum Java
    Risposte: 4
    Ultimo Post: 03-06-2013, 20:20
  3. Eseguire JS da main page
    Da Lorenzomakeadifference nel forum HTML, CSS e JavaScript
    Risposte: 1
    Ultimo Post: 08-10-2012, 23:41
  4. da main ad mc
    Da leyander nel forum Adobe Flash, ActionScript
    Risposte: 5
    Ultimo Post: 20-04-2009, 15:00
  5. Main Form
    Da Polx nel forum Visual Basic 6
    Risposte: 1
    Ultimo Post: 15-03-2006, 14:52