打印仅换行符更好(在性能和最佳实践中):
putchar('\n')
或puts("")
根据我的理解,putchar
输出一个字符,puts
输出一串字符。 Forget about printf
我倾向于使用puts
,因为它更短,但只是做("")
感觉错误。
哪个更快更好?
答案 0 :(得分:8)
它们之间的任何速度差异都是微不足道的,但putchar
可能更快,因为它需要一个char参数。
更重要的是,putchar('\n')
表示您的意思,而puts("")
则不是。
答案 1 :(得分:4)
理论上,一个需要一个指针,一个额外的字节,另一个不需要。同样,人们可能需要更多指令并可能会导致一些i-cache
,这可能会很糟糕。实际上,两者之间的差异几乎可以忽略不计。
但是,我仍然会亲自使用putc
或putchar
,因为代码更容易让其他人阅读和理解。
答案 2 :(得分:1)
一个好的编译器会为下面的代码发出相同的优化代码,因此它不是性能问题。
putchar('\n');
puts("");
使用更能传达代码意图的那个。这通常取决于正在打印的其他内容。
// Example 1
putchar('(');
putchar(ch);
putchar(')');
putchar('\n'); // Better choice
// puts("");
// Example 2
puts(name);
puts(rank);
puts(serial_number);
// putchar('\n');
puts(""); // Better choice
答案 3 :(得分:0)
即使puts()允许您输出字符串,您输出的字符串只有一个字符(换行符),因此结果和性能应与使用putchar()相同。 / p>