c语言中将输入的字符直接输出

c语言中将输入的字符直接输出

getchar函数 和EOF

getchar函数用于读取字符并返回,(getchar和putchar都只处理一个字符); EOF是对象式宏,为一个负值。

1、

#include <stdio.h>

int main(void)
{
    int ch;
    
    while((ch = getchar()) != EOF)
    {
        putchar(ch);
    }
    
    return 0;
}

以上程序为while循环控制语句,循环判断语句是 (ch = getchar()) != EOF;   函数getchar读取字符并返回给ch, 然后判断ch是否等于EOF, 如果判断结果为1,则执行循环体。

程序并不是读取一个字符就直接输出,而是输入回车键后输出,这是因为c语言中输入和输出一般会将读入的字符和带输出的字符暂时保存在缓存中,输入回车键后才运行实际的输入输出操作。

2、以上程序等价于:

#include <stdio.h>

int main(void)
{
    while(1)
    {
        int ch;
        ch = getchar();
        if(ch == EOF)
            break;
        putchar(ch);
    }
}

 while(1)为无限循环语句,循环体中使用if语句对程序结束做出设定。

原文地址:https://www.cnblogs.com/liujiaxin2018/p/14802442.html