Ottenere uno strano segno di percentuale nell'output di printf nel terminale con C

Ottenere uno strano segno di percentuale nell'output di printf nel terminale con C


Ho questo printf dichiarazione alla fine del mio programma:


printf("%d", total_candies);

total_candies è un int e mentre mi aspetto che tutto funzioni correttamente, insieme al numero effettivo, alla fine ricevo uno strano segno di percentuale.


Qualcuno può dirmi perché questo sta accadendo?


Risposte:


Quando l'output (non nullo) di un programma non include una nuova riga finale, zsh aggiunge quel % con inversione di colore per indicarlo e passa alla riga successiva prima di stampare il prompt; è generalmente più conveniente del comportamento di bash, avviando semplicemente il prompt dei comandi dove è terminato l'output.