scanf
使用scanf函数可以从标准输入设备接受输入。对我们而言,标准输入设备一般就是键盘。虽然scanf函数可以做许多事情,但是除了最简单的工作外,一般而言并不很可靠。原因是它不能很好地处理人为错误。不过,对于简单的程序来说,scanf还是很合适的,而且易于使用。
scanf的最简单用法是像这样:
scanf(%d, &b);
该程序将读取用户从键盘输入的一个整数(和在printf中一样,%d代表整型,因此b必须声明为int),并将其存入b。
scanf函数使用的占位符和printf的相同:
int用%d
float用%f
char用%c
字符串(后面会讨论)用%s
在使用scanf时,您必须在其变量前加上&。为什么要这么做的原因,在您学习指针后会很清楚。&符号很容易忽略,而一旦您忘记添加&,几乎每次运行程序都会崩溃。
通常来说,最好像在这里举的例子一样使用scanf函数——读取键盘输入的单个数值。读取多个数值的时候,请多次调用scanf函数。不过,在任何一个实际的(而不是用来演示的)程序中,您将不会使用scan函数,而是使用gets或者fgets函数来一次一整行地阅读文本。然后您会分析这一行,并读取它的值。这么做的原因是,您可以检测到输入的错误,并做恰当的处理。
要完全理解printf和scanf函数,需要一些练习。一旦掌握了,它们非常有用。
试试这个!
修改这个程序,使它能接受3个数值,而不是2个,并把3个数值相加。
#include int main(){ int a, b, c; printf(输入第一个值:); scanf(%d, &a); printf(输入第二个值:); scanf(%d, &b); c = a + b; printf(%d + %d = %d\n, a, b, c); return 0;}试着在上述程序中随意删除或添加字符或者词语,看编译器对这些错误如何反应。
比如说,在上述程序的第一行删除b变量,看看当您忘记了声明变量时,编译器会怎么办。删除一个分号,看会发生什么。或者漏掉一半大括号。删掉主函数旁边的一个圆括号。尝试每一种错误,然后通过编译器运行程序,看会发生什么。通过模拟这些错误,您会了解不同种类的编译器错误,并在当您真正地犯了这些错误的时候,更容易找到这些输入错误。
c常见错误
用错大小写。c语言区分大小写,因此printf和printf都不对,必须是printf。
在scanf中忘了使用&。
在printf或scanf的格式声明中参数太多,或者太少。
在使用变量的时候没有事先声明。
红运机械制浆设备工艺迭代升级
2012智能电网十大憾事:交流特高压“缩水”?
三星成为可折叠屏幕主要供货商 未来或将改变我们的生活方式
单级功率因数校正(PFC)LED驱动器
如何用ESP8266ESP-01和串行端口以及Python构建一个自动指向接收器
C语言入门教程-Scanf
数据采集卡的基本原理、应用领域、特点以及选购注意事项
“中国芯力量”从启动开始120个项目报名参加只有15家公司入围
魅族pro7什么时候上市?魅族pro7最新消息:魅族Pro 7即将来袭!你会因联发科处理器拒绝购买吗?
聚光科技上市12周年 | 聚心聚力 行稳致远
RFID闸口车辆管理系统的思路设计和方案
华为荣耀Magic真机图集:八曲面设计 媲美小米mix?
不同类型超声波流量计作弊手段异同
iOS10.3.3正式版怎么样?苹果iOS10.3.3更新,这流畅度,这耗电,2个重要原因!告诉你为什么要升级
Medfiled处理器平台的五个大招
产品正常使用下的锂电池充电电路设计
小米王者归来,有望成为全球第二大手机制造商
数字孪生智慧海上风电场Web3D可视化运维平台
信号隔离器功能及工作原理分析
对于RFID的组件RFID读写器和电子标签的工作原理,你了解嘛?