上一页 下一页

C 编程基础

Scanf

scanf 函数允许您从标准输入(对我们而言通常是键盘)获取输入。scanf 函数可以执行许多不同的操作,但由于它无法很好地处理人为错误,因此可能不可靠。但对于简单的程序来说,它足够好用且易于使用。

scanf 的最简单应用如下所示

广告

scanf("%d", &b);

该程序将读取用户在键盘上输入的整数值(%d 用于整数,printf 也是如此,因此 b 必须声明为 int 类型),并将该值放入 b 中。

scanf 函数使用与 printf 相同的占位符

  • int 使用 %d
  • float 使用 %f
  • char 使用 %c
  • 字符字符串(稍后讨论)使用 %s

您必须在 scanf 中使用的变量前面加上 &。一旦您了解了指针,原因就会变得清楚。很容易忘记 & 符号,一旦您忘记了它,您的程序在运行时几乎总是会崩溃。

通常,最好按照此处所示的方式使用 scanf——从键盘读取单个值。使用对 scanf 的多次调用来读取多个值。在任何实际程序中,您将使用 getsfgets 函数来逐行读取文本。然后您将“解析”该行以读取其值。这样做的原因是您可以检测输入中的错误并根据需要进行处理。

printf 和 scanf 函数需要一些练习才能完全理解,但一旦掌握,它们将非常有用。

试试看!

修改此程序,使其接受三个值而不是两个,并将这三个值加在一起

#include <stdio.h>

int main()
{
    int a, b, c;
    printf("Enter the first value:");
    scanf("%d", &a);
    printf("Enter the second value:");
    scanf("%d", &b);
    c = a + b;
    printf("%d + %d = %d\n", a, b, c);
    return 0;
}

您还可以删除上面程序第一行中的变量 b,看看当您忘记声明变量时编译器会做什么。删除一个分号,看看会发生什么。省略一个大括号。删除 main 函数旁边的一个括号。单独制造每个错误,然后通过编译器运行程序,看看会发生什么。通过模拟此类错误,您可以了解不同的编译器错误,这将在您实际编写时更容易找到您的拼写错误。