zoukankan      html  css  js  c++  java
  • 10.27 getchar与scanf的那档子事

    今天闲来测试一下getchar和putchar

     1 #include<stdio.h>
     2 
     3 int main()
     4 {
     5     char a,b;
     6     a=getchar();
     7     scanf("%c",&b); 
     8     printf("%c %d %x
    ",a,a,a);
     9     printf("%c %d %x
    ",a+32,a+32,a+32);
    10     printf("%c",a);
    11     putchar(a);
    12     putchar(b);
    13     return 0;
    14  } 

    却发现了getchar 与scanf混用时出现了不解的问题,如图

    当我输入A,按下回车,还未等再次输入就直接输出了。。。。。。???

    借鉴了一些大佬们的话,才意识到按回车的时候scanf相当于输入了 ,因而最终b输出了个换行...

     稍做了改进

     1 #include<stdio.h>
     2 
     3 int main()
     4 {
     5     char a,b;
     6     a=getchar();
     7     getchar();
     8     scanf("%c",&b); 
     9     printf("%c %d %x
    ",a,a,a);
    10     printf("%c %d %x
    ",a+32,a+32,a+32);
    11     printf("%c",a);
    12     putchar(a);
    13     putchar(b);
    14     return 0;
    15  } 

    通过多加的的getchar(),抵消了回车的干扰,在我依次输入A   S后得到了想要的效果,yeah

    借鉴语录如下

    https://zhidao.baidu.com/question/1110884331347650299.html

    https://www.cnblogs.com/CQWF/p/9495309.html

    天涯犹在,不诉薄凉。
  • 相关阅读:
    作业三(3)
    作业三(2)
    作业三(1)
    作业2(2)
    作业2(1)
    通读《构建之法》后有感
    自我介绍
    页面从服务器中浏览并添加图片显示
    lamda表达式 随机取数据的方法
    对js插件uploadify的一些操作
  • 原文地址:https://www.cnblogs.com/Knight02/p/13888506.html
Copyright © 2011-2022 走看看