zoukankan      html  css  js  c++  java
  • c trans

    #define BUFSIZE 100
    
    char buf[BUFSIZE];
    int bufp = 0;
    
    int getch(void)
    {
        return (bufp > 0)? buf[--bufp] : getchar();
    }
    
    void ungetch(int c)
    {
         if(bufp >= BUFSIZE)
             printf("ungetch: too many characters
    ");
         else
             buf[bufp++] = c;
    }
    
    #include<stdio.h>
    
    int main()
    {
        printf("%c %c", getch(), getch());
    }
    形如-->printf("%c %c", getch(), getch()); 
    ----整型数会被强制转化为对应的字符(ascii)输出。
    而-->
    return (bufp > 0)? buf[--bufp] : getchar();
    中,由getchar()所读入的字符也会转化为相应的整形数 作为 getch()函数的返回值。
    ungetch(int c)函数也是同理,参数是整型,但是允许输入字符,自动转化为对应整型数。
    #include<stdio.h>
    
    int main()
    {
        char c;
        
        c = 97;
        printf("%c", c);
    }

    上面的代码可以正常运行,输出结果是 a

    所以 当读入一个超大整数 到buf 时会怎么样呢?
  • 相关阅读:
    maven常用插件
    Java反编译工具:Java Decompiler
    好看的电影
    我说
    Fisher准则一维聚类
    Java获取函数参数名称
    推荐几个字体生成网站
    Python中的两种路径
    轻量级数据库简介
    Solr Wiki文档
  • 原文地址:https://www.cnblogs.com/xkxf/p/6139206.html
Copyright © 2011-2022 走看看