printf()和put()在C中的区别是什么?

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

我知道你可以用printf()puts(),我也能看到printf()允许插入变量并进行格式化。

puts()只是原版的printf()。它是否能被用于任何可能的地方?printf()没有字符串插值?

unionunion提问于
幽幽77IT从业者回答于
已采纳

putsprintf但是要注意,前者会自动追加换行符。如果这不是你想要的,你可以fputs字符串要退出或使用printf.

游王子讴歌灬简单而丰富回答于

,在第一个参数中使用变量通常是危险的--而且在概念上是错误的。printf

  char * myMessage;
  // ... myMessage gets filled at runtime with some unpredictable content
  printf(myMessage);  // WRONG! (what if myMessage contains a '%' char?) 
  puts(myMessage);    // correct
  printf("%s\n",myMessage); // equivalent to the above, perhaps less efficient

同样适用于fputsVSfprintf(但fputs不添加换行符)。

扫码关注云+社区