对于scanf的初步学习和理解

对于scanf的初步学习和理解

scanf复习

scanf是C中的一个输入函数用户可以用指定的格式从键盘上输入到指定的变量。

用法

比如scanf(%d,a)表示输入一个可选有符号的十进制整数,如果输入10,则代表变量a的值为10:
代码
结果为
结果

格式说明符

d 读入可选有符号(可选有符号表示输入时可以带符号也可以不带符号,不带符号则视为非负)十进制整数。
s 读入一个的字符序列,后面会加上空字节。
x 读入可选有符号十六进制整数。输入格式应该像strtoul函数的base实参为16调用时识别的字符序列一样。
c 读入域宽指定的数目个字符组成的字符序列(后面不会加上空字节),如果省略宽度则读入单字符。如%c或%1c读入单字符,%2c读入两个字符(后面不会加上空字节),以此类推。(来自搜狗百科)

容易忽略的地方

在使用scanf时一开始包括我在内的许多同学容易缺少一个&符号,这样会使代码在编译时是指出无指针的错误,这需要牢记。
在循环中需要用到scanf来先输入字符型数据再输入数值型数据时,则需要注意输入数值后,不管是回车还是空格都会被下一轮的scanf给吸收,导致我们无法输入下一个字符型。
我解决的方法是在输入完数值型数据后再在下面补一句:
getchar();
getchar()函数是读取键盘输入的一个字符。
再有就是scanf中如果除了声明格式外还有其他字符,则需要在输入数据时在对应位置输入相同字符如:
scanf(“a=%d,b=$d,c=%d”,&a,&b,&c);
再输入数据时需要输入相同字符如:
a=10,b=5,c=1
如果直接输入10 5 1编译时就会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值