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

    天涯犹在,不诉薄凉。
  • 相关阅读:
    day09
    初识socket
    java正则表达式
    Servlet 3.0 新特性详解
    spring利用PropertiesFactoryBean管理属性配置文件properties
    MyBatis获取插入记录的自增主键
    深入学习理解java-ThreadLocal
    Mybatis批量执行语句
    MyBatis使用二级缓存
    编码的理解
  • 原文地址:https://www.cnblogs.com/Knight02/p/13888506.html
Copyright © 2011-2022 走看看