Ho sentito che dovresti evitare di guidare le nuove linee quando usi printf. In modo che al posto printf("\nHello World!")tuo dovresti usareprintf("Hello World!\n")
In questo esempio particolare sopra non ha senso, poiché l'output sarebbe diverso, ma considera questo:
printf("Initializing");
init();
printf("\nProcessing");
process_data();
printf("\nExiting");
rispetto a:
printf("Initializing\n");
init();
printf("Processing\n");
process_data();
printf("Exiting");
Non riesco a vedere alcun beneficio con le nuove righe finali, tranne per il fatto che sembra migliore. C'è qualche altro motivo?
MODIFICARE:
Mi rivolgerò ai voti stretti qui e ora. Non penso che questo appartenga allo overflow dello Stack, perché questa domanda riguarda principalmente il design. Direi anche che, sebbene possano essere opinioni in merito, la risposta di Kilian Foth e la risposta di cmaster dimostrano che ci sono davvero vantaggi molto oggettivi con un approccio.
init()e process_data()stampare qualcosa da soli? Come ti aspetteresti che il risultato sembrasse se lo facessero?
\nè un terminatore di linea , non un separatore di linea . Ciò è dimostrato dal fatto che i file di testo, su UNIX, finiscono quasi sempre con \n.