算法笔记04:getchar()

1.从缓冲区读走一个字符,相当于清除缓冲区  
  
2.前面的scanf()在读取输入时会在缓冲区中留下一个字符'\n'(输入完s[i]的值后按回车键所致),所以如果不在此加一个
getchar()把这个回车符取走的话,gets()就不会等待从键盘键入字符,而是会直接取走这个“无用的”回车符,从而导致读取有误  
 

在有的时候输入字符的时候需要用到getchar()来取走回车\n。

#include <bits/stdc++.h>
using namespace std;
 
int main() {
    char ch = 0;
    //循环读入字符串,用getchar消去换行符
    while(scanf("%c", &ch) != EOF) {
        getchar();
        //判断是否大写字母,如果是调用转换小写的函数tolower,反之亦然
        if(ch >= 'A' && ch <= 'Z')
            printf("%c\n", tolower(ch));
        else
            printf("%c\n", toupper(ch));
    }
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值