C语言-scanf函数

 1)scanf函数,是一个标准的输入函数

   是一个阻塞式的函数:当使用scanf的时候,程序会等待用户输入,如果不输入内容,程序不再往下执行

   作用:接收从键盘输的的内容

 2)使用格式:

      对比printf

      printf("格式控制字符串",变量列表);

      scanf("格式控制字符串",变量的“地址”列表)

      变量的的地址: 变量的首地址

   

                  获得变量首地址的方法:  &变量名

      printf("a = %d ",a);

      scanf("%d",&a);

 3) 格式控制

    %d    接收一个整数

    %f    接收实数

    %c    接收字符

    ...

 4)scanf函数的使用注意点

   (1) 使用scanf函数接收一个"整数"的时候,输入数据之前输入空格  tab  回车

       scanf函数会忽略

   (2) scanf函数当输入数据以后,以回车作为结束符

    

   (3) 但是输入字符的时候,就有点问题了

        例1

        scanf("%d%d%d",&a,&b,&c);

    如果在控制区输入:4 5   7-》空格会被忽略,打印还是4,5,7

        例2

        scanf("%d%c%d",&a,&b,&c);

        如果在控制区输入:4c7->打印是4,c,7

        

        但是如果在字符的前面出现<空格><逗号><回车>,结构都是不对的,

        如果在控制区输入:4 c7->&a会取走4,&b会取走<空格>,&c会取走c,然后以ascii码打印出来

        //这是一个容易犯的错误(因为<空格>和<回车><逗号>都是字符)

        缓冲区就是下面等待输入繁的地方,

原文地址:https://www.cnblogs.com/wxios/p/4170090.html