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

求c语言scanf详解


详细点吧!

正在回答

1 回答

scanf 格式输入函数
函数作用:按照变量在内存的地址将变量值存进去。
一般格式:scanf(格式控制,地址表列)
其中,格式控制:
%d:以带符号的十进制形式输出整数
%o:以八进制无符号形式输出整数
%x:以十六进制无符号形式输出整数
%u:以无符号十进制形式输出整数
%c:以字符形式输出,只输出一个字符
%s:输出字符串
%f:以小数形式输出单,双精度数,隐含输出六位小数
%e:以指数形式输出实数
%g:选用%f或%e格式中输出宽度较短的一种格式,不输
  出无意义的0

在格式控制的字母前面可以用几种常见的格式符的修饰符,作用如下:
L:用于长整型整数,可加在格式符d,o,x,u前面
M(代表一个正整数):数据最小宽度
N(代表一个正整数):对实数,表示输出n位小数;
                  对字符串,表示截取的字符个数

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

onemoo

你写出的这些格式化指示符是用于printf的,不全适用于scanf。
2015-09-05 回复 有任何疑惑可以回复我~
#2

hhh112123123 回复 onemoo

scanf也可以啊,格式化输入输出,格式化指示大同小异
2015-09-06 回复 有任何疑惑可以回复我~
#3

onemoo 回复 hhh112123123

关键的区别就在浮点型上: printf系列函数,float和double都用%f(或%e %a %g)。 scanf系列函数,float用%f(%e %g %a),double必须加上l(%lf %le %lg %la)。
2015-09-06 回复 有任何疑惑可以回复我~
#4

hhh112123123 回复 onemoo

1 printf输出float和double都可以用%f,double还可以用%lf。2 scanf输入float用%f,double输入用%lf,不能混用。
2015-09-06 回复 有任何疑惑可以回复我~
#5

onemoo 回复 hhh112123123

是啊,但你之前的解答中并没有说明这一点。
2015-09-06 回复 有任何疑惑可以回复我~
#6

通天教主 提问者

非常感谢!
2015-09-08 回复 有任何疑惑可以回复我~
查看3条回复

举报

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

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

进入课程

求c语言scanf详解

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