欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

WERTYU UVA - 10082 (getchar,putchar用法)

程序员文章站 2022-06-09 20:17:41
...

WERTYU UVA - 10082 (getchar,putchar用法)

理解getchar和putchar
键盘输入的字符都存到缓冲区内,一旦键入回车,getchar就进入缓冲区读取字符,一次只返回第一个字符作为getchar函数的值,如果有循环或足够多的getchar语句,就会依次读出缓冲区内的所有字符直到’\n’.要理解这一点,之所以你输入的一系列字符被依次读出来,是因为循环的作用使得反复利用getchar在缓冲区里读取字符,而不是getchar可以读取多个字符,事实上getchar每次只能读取一个字符.如果需要取消’\n’的影响,可以用getchar();来清除,这里getchar();只是取得了’\n’但是并没有赋给任何字符变量,所以不会有影响,相当于清除了这个字符.

1、putchar()
a、 putchar函数的格式:putchar(ch)
(其中ch可以是一个字符变量或常量,也可以是一个转义字符)
b、putchar函数的作用:向终端输出一个字符。
(1)putchar函数只能用于单个字符的输出,且一次只能输出一个字符。
(2)在程序中使用putchar函数,务必牢记:在程序(或文件)的开头加上编译预处理命令(也称包含命令),即:#include “stdio.h”。
2、getchar()
a、 getchar函数的格式:c=getchar();

b、getchar函数的作用:从系统隐含的输入设备(如键盘)输入一个字符。
getchar输入字符,一直到按下回车才结束,然后执行代码

#include <cstdio>
#include <math.h>
#include <string.h>
#include <iostream>
#include <algorithm>
using namespace std;
char a[]="`1234567890-=QWERTYUIOP[]\ASDFGHJKL;'ZXCVBNM,./";
int main()
{
    char b;
    int i;
    while((b=getchar())!=EOF)
    {
        for(i=1;a[i]!=b&&a[i];i++);
        if(a[i])
        {
            putchar(a[i-1]);
        }
        else{
            putchar(b);
        }
    }
    return 0;
}