Edizione didattica italiana
Punto e virgola mancante in C
Trova istruzioni e dichiarazioni incomplete senza aggiungere separatori a caso.

Il messaggio indica spesso dove l’analisi fallisce, dopo il vero errore. Esamina anche la riga precedente: dichiarazione, assegnazione o chiamata di funzione.
Una dichiarazione di struttura termina con punto e virgola, mentre il blocco di una definizione di funzione no. Nel ciclo for, due punti e virgola separano le tre parti dell’intestazione.
Un punto e virgola dopo if o while può creare un’istruzione vuota e cambiare il comportamento. Controlla virgolette e commenti non chiusi e correggi il primo errore prima dei successivi.
Codice sorgente
#include <stdio.h>
// FIXED 1: Semicolon added after struct definition
struct UserProfile {
int id;
char username[32];
};
int calculate_tax(int income) {
// FIXED 2: Semicolon added after variable assignment
int rate = 15;
return income * rate / 100;
}
int main(void) {
printf("=== Expected Semicolon Resolved ===\n");
struct UserProfile user = {1, "Alice Chen"};
printf("User ID: %d, Name: %s\n", user.id, user.username);
printf("Calculated Tax: $%d\n", calculate_tax(50000));
return 0;
}Apri nel compilatoreRisultato atteso
=== Expected Semicolon Resolved === User ID: 1, Name: Alice Chen Calculated Tax: $7500
Domande frequenti
Perché il codice e alcuni risultati restano in inglese?
Parole chiave C, identificatori, commenti del programma e output attesi restano quelli originali per preservare codice eseguibile e test coerenti. Spiegazioni e istruzioni sono tradotte.