美文网首页
缓冲区与scanf printf

缓冲区与scanf printf

作者: kkkk小天使 | 来源:发表于2020-04-02 10:38 被阅读0次

    一、知识点解释:

    1、printf 向终端输出字符串;scanf 接收终端的输入
    2、缓冲区
    (1)printf 应用程序将输出的内容先放入缓冲区,一个一个字符依次放,缓冲区再将所有字符显示在终端
    (2)scanf 敲回车时,终端的所有内容全部进入缓冲区(\n也在),然后应用程序拿走需要的内容,但是\n还在缓冲区,再用getchar()拿走,当缓冲区没有内容时会等待用户输入

    二、代码案例

    #include <stdio.h>
    
    /*
    printf 向终端输出字符串 
    scanf 接收终端的输入 
    缓冲区:输入输出流 IO流 cout cin 
    */
    int main(){
        char a;
        printf("请输入a:"); 
        scanf("%c", &a);
        
        char b;
        printf("请输入b:");
        getchar();
        scanf("%c", &b);
        
        char c; 
        printf("请输入c:");
        scanf("%c", &c);
        
        printf("a=%c b=%c c=%c\n",a,b,c);
        return 0;
    }
    

    三、运行结果

    image.png

    四、解释:

    1、输入a=x之后敲了一个空格
    2、输入b之前有一个getchar()拿走了\n因此没有影响
    3、输入c之前没有getchar(),因此c拿走了那个\n,不需要等待终端输入,直接在缓冲区拿走\n结束了程序

    相关文章

      网友评论

          本文标题:缓冲区与scanf printf

          本文链接:https://www.haomeiwen.com/subject/ezvtphtx.html