2

我在代码中看到了这一点,其中使用 printf 仅显示没有任何格式的普通字符串(例如 printf("Hello World!\n")。为什么不直接使用 puts("Hello World") 呢?

4

5 回答 5

2

puts或者fputs应该在没有变量必须被格式化/打印时使用。下面会出现问题:

 printf("How many %s is the interest?\n");

特别是当要打印的字符串作为变量传递时,很难找到错误。

于 2015-09-02T16:29:16.920 回答
1

此外,如果您想打印带有“%”的内容,建议使用puts

于 2015-09-02T16:31:46.367 回答
0

为什么使用printf("mystring\n")而不是 just puts("mystring")

注意:有理由使用printf()喜欢角色的外观'%',但OP似乎想要理由 printf(line_of_text)

示例 1:在已经使用的嵌入式应用程序(代码空间有限)中printf()puts()可能会花费额外的程序空间。

示例 2:puts()appends a的输出'\n'。这种行为抓住了忘记这一点并使用puts("mystring\n"). 使用printf("mystring\n")是明确的。使用fputs("mystring\n", stdout)效果更佳。

于 2015-09-02T16:45:41.720 回答
0

printf()通常是首选的替代方案,仅仅是因为它更强大并且让程序员可以更好地控制他们的输出。

于 2015-09-02T16:26:20.580 回答
0

当您想稍后更新您的代码时,您可能会使用变量。puts()不格式化变量,但printf()确实如此。此外,puts()总是添加新行,所以如果你不想换行,那么你会想要切换到printf(). 基本上,printf()允许您更长时间地维护代码。

于 2015-09-02T16:28:34.490 回答