读《c程序编程语言》笔记

来源:互联网 发布:上瘾网络剧爱奇艺 编辑:程序博客网 时间:2024/06/05 20:08
int main()    {

    int c;
    c=getchar();
    while(c!=EOF)    {
        putchar(c);
        c=getchar();
    
    }

}

上面的程序用于原样输出输入的字符, EOF是<stdio.h>中定义的一个整形,通常为-1,视不同情况而定,把c定义为整形而不是字符型是因为让c能够接收ASCALL码外的字符,getchar()能够返回的各种值,包括EOF。通常敲回车时,输入的回车符也会作为一个字符被getchar()接收。   getchar()返回一个int型,是带缓冲区的函数,直到等到输入回车符才开始从缓冲区读取数据,带回显, 回车符也放在缓冲区中,具体回车符是什么要看具体的系统。

getch()函数也是返回一个int型,但他是非缓冲区函数,输入数据便立即返回,不带回显。



关于scanf的一些问题

当格式为scanf(%c)时,只要缓冲区中任意字符,都读取;

当格式为其他情况时,scanf忽略先导的空白符(空格符、回车符、换行符),从第一个有意义字符开始读取,直到遇到下一个空白符(不读取该空白符);

scanf是直到看见空白符结束读取。gets()这个函数不管是什么一律读进来,直到遇到回车符才停下。

原创粉丝点击