C语言-scanf函数

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

 

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

 

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

 

 2)使用格式:

      对比printf

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

 

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

 

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

   

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

 

 

      printf("a = %d\n",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码打印出来

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

 

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

 

posted @ 2014-12-17 18:34  M了个WX  阅读(351)  评论(0编辑  收藏  举报