Słyszałem, że powinieneś unikać prowadzenia nowych linii podczas korzystania printf. Więc zamiast tego printf("\nHello World!")powinieneś użyćprintf("Hello World!\n")
W tym konkretnym przykładzie powyżej nie ma to sensu, ponieważ wynik byłby inny, ale rozważ to:
printf("Initializing");
init();
printf("\nProcessing");
process_data();
printf("\nExiting");
w porównaniu do:
printf("Initializing\n");
init();
printf("Processing\n");
process_data();
printf("Exiting");
Nie widzę żadnych korzyści z końcowymi znakami nowej linii, poza tym, że wygląda lepiej. Czy jest jakiś inny powód?
EDYTOWAĆ:
Zajmę się głosowaniem w tej sprawie tutaj i teraz. Nie sądzę, że należy to do przepełnienia stosu, ponieważ to pytanie dotyczy głównie projektowania. Powiedziałbym również, że chociaż mogą to być opinie w tej sprawie, odpowiedź Kiliana Fotha i odpowiedź cmastera dowodzą, że rzeczywiście jedno podejście przynosi bardzo obiektywne korzyści.
init()i process_data()wydrukuj coś samodzielnie? Jak wyglądałby wynik, gdyby tak się stało?
\njest terminatorem linii , a nie separatorem linii . Dowodem na to jest fakt, że pliki tekstowe w systemie UNIX prawie zawsze kończą się na \n.