为了账号安全,请及时绑定邮箱和手机立即绑定

初学 请教一个小问题

没有加 %s 输出看起来也没有错误,这个 %s 是都可以省略的吗还是说有哪里错了但不影响运行呢?

正在回答

3 回答

都没有错。

printf的第一个参数就是一个字符串,会被打印出来,只不过如果这个字符串中有带%号的格式化指示,那么就会把后面的参数按照%的指示打印在相应的位置上,这就是所谓的“格式化输出”。


如果你只是单纯地想要输出一个字符串,可以直接写在第一个参数中(后面的参数就不用写了)。大家入门C语言时的那个hello world不就是直接写在printf中的嘛。

要注意:这样的话,你的这个字符串中不能有%这样的格式化输出指示符。因为如果有的话printf就会去找后面的参数试图打印它们,显然就错了。

所以,把printf的第一个参数写成%s、把想要输出的内容写在第二个参数上是种很"安全"的做法,可以避免上面的问题。 不过在实践中如果你要输出的内容很简单,当然是可以直接写出来的。

1 回复 有任何疑惑可以回复我~
#1

红砖 提问者

非常感谢!
2015-03-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926018    人
  • 解答问题       20793    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

初学 请教一个小问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信