前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基础知识 | 每日一面(78)

基础知识 | 每日一面(78)

作者头像
小林C语言
发布2020-03-19 17:23:15
3290
发布2020-03-19 17:23:15
举报
文章被收录于专栏:C语言入门到精通

古代的剑客们与

对手相逢时,无

论对手多么强大,

明知不敌,也要亮出自己的剑!

读者:我的程序的屏幕提示和中间输出有时显示在屏幕上, 尤其是当我用管道向另一个程序输出的时候。

小林:在输出需要显示的时候最好使用明确的 fflush(stdout) 调用, 尤其是当显示的文本没有 \n 结束符时。有几种机制会努力帮助你在 “适当的时机” 执行 fflush, 但这仅限于 stdout 为交互终端的时候。

读者:我如何在 printf 的格式串中输出一个 ’%’?我试过 \%, 但是不

行。

小林:只需要重复百分号: %%。\%不行, 因为反斜杠 \ 是编译器的转义字符, 而这里我们的问题最终是 printf的转义字符。

读者:有人告诉我在 printf 中使用 %lf 不正确。那么, 如果 scanf() 需要%lf, 怎么可以用在 printf() 中用 %f 输出双精度数呢?

小林:printf 的 %f 标识符的确既可以输出浮点数又可以输出双精度数。根据 “缺省参数扩展” 规则, 不论范围内有没有原形都会在在类似 printf 的可变长度参数列表中采用, 浮点型的变量或扩展为双精度型, 因此 printf() 只会看到双精度数。printf() 的确接受 %Lf, 用于输出长双精度数。

有时候,正是那些意想不到之人,成就了无人能成之事。

——图灵

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 C语言入门到精通 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档