专栏中心

EEPW首页 > 专栏 > Scanf

Scanf

发布人:0750long 时间:2009-07-29 来源:工程师 发布文章

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的格式声明中参数太多,或者太少。
在使用变量的时候没有事先声明。 

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

部署成本显著降低!英特尔助阵高效AI算力一体机方案

重大突破!复旦大学团队成功研发全球首颗二维半导体芯片无极

附培训资料,速报名!ST×米尔STM32MP25x高阶实战培训会

Microchip PolarFire SoC FPGA通过AEC-Q100汽车级认证

嵌入式系统 2025-04-03

一个单片机串行数据采集传输模块的设计

液晶显示模块和MSP430单片机在显示终端上的应用

第三届全国大学生智能车大赛-全国亚军决赛视频

视频 2010-02-01

智能推土车

视频 2010-02-01

瀚海----大连海事大学飞思卡尔智能车

视频 2010-02-01

第一届飞思卡尔杯全国大学生智能车竞赛全程录象

视频 2010-02-01

火星探索者机器人平台小车平台开发板红外遥控,爬坡

视频 2010-02-01

一个C51的综合例子

资源下载 2007-02-16

一线式时钟芯片DS2417的原理与应用

一种基于DDS芯片AD9850的信号源

DigiKey推出有关可持续发展的新视频系列

德承发表15.6寸FHD工业平板与显示器,满足户外及工业应用

光电显示 2025-04-03

纳芯微出席2025百人会论坛——智驱未来,赋能全域智能电动生态

芯原推出AI自动ISP调优系统AcuityPercept

EDA/PCB 2025-04-03

IDC首发《中国AI Agent应用市场概览》研究报告

智能计算 2025-04-03

二进制数

智能计算 2025-04-03

protel dxp介绍

tanke 2005-08-22
更多 培训课堂
更多 焦点
更多 视频

技术专区