% è un carattere speciale, se usato nella stringa di formattazione delle funzioni printf (e parenti).
In quel caso % viene accoppiato con il primo carattere alla sua destra, diventando %c. Questo è un codice speciale per dire alla funzione printf che vuoi stampare il valore di una variabile di tipo char, che andrà a pescare nello stack (tramite va_list) e, non trovandolo, beccherà un valore random che si trovava in quel posto per puro caso.
Se proprio devi stampare dei caratteri speciali, consulta intanto il manuale del printf, alla voce Format String, dove sono elencati i caratteri speciali. Per questi caratteri è necessario premettere un backslash, in questo modo: "\%ciao".
|