Tôi nghe nói rằng bạn nên tránh hàng đầu mới khi sử dụng printf
. Vì vậy, thay vì printf("\nHello World!")
bạn nên sử dụngprintf("Hello World!\n")
Trong ví dụ cụ thể ở trên, nó không có ý nghĩa gì, vì đầu ra sẽ khác nhau, nhưng hãy xem xét điều này:
printf("Initializing");
init();
printf("\nProcessing");
process_data();
printf("\nExiting");
so với:
printf("Initializing\n");
init();
printf("Processing\n");
process_data();
printf("Exiting");
Tôi không thể thấy bất kỳ lợi ích nào với các dòng mới, ngoại trừ việc nó có vẻ tốt hơn. Có bất kỳ lý do khác?
BIÊN TẬP:
Tôi sẽ giải quyết các phiếu bầu gần đây và ngay bây giờ. Tôi không nghĩ rằng điều này thuộc về Stack tràn, bởi vì câu hỏi này chủ yếu là về thiết kế. Tôi cũng sẽ nói rằng mặc dù có thể có ý kiến về vấn đề này, câu trả lời của Kilian Foth và câu trả lời của cmaster chứng minh rằng thực sự có những lợi ích rất khách quan với một cách tiếp cận.
init()
và tự process_data()
in bất cứ điều gì? Bạn mong đợi kết quả sẽ như thế nào nếu họ làm vậy?
\n
là một dấu kết thúc dòng , không phải là dấu phân cách dòng . Điều này được chứng minh bằng thực tế là các tệp văn bản, trên UNIX, hầu như luôn luôn kết thúc \n
.