C语言中getchar() 和 putchar() 的用法

getchar() 和 putchar() 是一对字符输入/输出函数.
getchar()不带任何参数,他从输入序列中返回下一个字符。例如,下面的语句读取下一个字符输入,并把该字符的值赋给变量ch:

ch = getchar();

putchar()函数打印它的参数。例如,下面的语句把之前赋给ch的值作为字符打印出来:

putchar(ch);

由于这两个函数只处理字符,所以他们通常比scanf() 和printf() 函数更快更便捷。而且,getchar() 和 putchar() 不需要转换说明。

接下来我们通过下面这个例子看看它们是如何工作的。这个例子可描述为“如果字符是空格,原样打印;否则,打印原字符在ASCII序列中的下一个字符”

#include <stdio.h>
#define SPACE ' ' // SPACE表示一个空格字符

int main()
{
char ch;

ch = getchar(); // 读取一个字符
while(ch != '\n') // 当读取到的下一个字符不是换行符时(即一行未结束时)
{
if(ch == SPACE) // 留下空格
putchar(ch);
else
putchar(ch + 1); // 改变其他字符
ch = getchar(); // 获取下一个字符
}
putchar(ch); // 循环结束,读取的最后一个字符是'\n',打印换行符

return 0;
}

当我们输入一个连串的字符时,getchar()的任务就是一个字符一个字符的进行读取,当然,当我们最后输入一个Enter时, getchar() 最终也会将 ‘\n’ 读取出来。

posted @ 2022-10-19 21:24  bkyhjw  阅读(1246)  评论(0编辑  收藏  举报