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

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

作者头像
小林C语言
修改2020-03-19 17:39:29
2590
修改2020-03-19 17:39:29
举报

古代的剑客们与

对手相逢时,无

论对手多么强大,

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

读者:为什么 char s[30]; scanf("%s", s); 不用 & 也可以?

小林:需要指针; 并不表示一定需要 & 操作符。当你向 scanf() 传入一个指针的时候, 你不需要使用 &, 因为不论是否带 & 操作符, 数组总是以指针形式传入函数

的。

读者:为什么这些代码 double d; scanf("%f", &d); 不行?

小林:跟 printf() 不同, scanf() 用 %lf 代表双精度数, 用 %f 代表浮点数。

读者:怎样在 scanf() 格式串中指定可变的宽度?

小林:不能: scanf() 格式串中的星号表示禁止赋值。你可以使用 ANSI 的字符串化和字符连接完成同样的事情, 或者你可以在运行时创建 scanf 格式串。

读者:当我用 “%d\n” 调用 scanf 从键盘读取数字的时候, 好像要多输

入一行函数才返回。

小林:可能令人吃惊, \n 在 scanf 格式串中不表示等待换行符, 而是读取并放弃所有的空白字符。

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

——图灵

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

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

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

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

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