(本文为博闻网版权所有,转载必须注明出处。)

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



 打印  电子邮件  反馈  引用
编辑推荐
软件狗是什么?
软件狗(Software Dog)是一种计算机软件的加密方式,是“硬件加密锁”的
间谍软件工作原理
您的计算机是否曾变得非常慢,即使打开Word处理器也会占用很长时间,间谍软件可能
什么是路由算法?
路由器是管理网络流量和发送数据包的,但是它是如何决定数据包发送的呢?通过本文,博
Gnutella文件共...
Napster在巅峰时期或许是有史以来最受欢迎的网站。紧随其后的文件共享体系架构
主页 |  公司信息 |  广告服务 |  招聘信息 |  隐私 |  联系我们 |  帮助 |  条款和条件