分享

C语言入门教程-Scanf

 ldjsld 2016-07-31

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多