C语言::getchar()函数的几个特殊实例 - 高小调博客

C语言::getchar()函数的几个特殊实例

看了上篇文章getchar函数功能、原型、用法及实例后,我相信各位对getchar函数有了一个大致的了解。今天我再来介绍几个getchar函数的特殊实例。

实例一:将小写字母转换成大写字母

1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
int main(){
    int ch;
    printf("请输入一串字符,以ctrl+z结束:");
    while((ch=getchar())!=EOF){
        if( ch>='A' && ch<='Z'){
            putchar(ch+32);
        }else if(ch >= 'a' && ch <= 'z'){
            putchar(ch-32);
        }
    }
    return 0;
}

实例二:清除缓冲区

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<stdio.h>
int main(){
    char ch1 = EOF;
    int ch2 = EOF;
    int tmp = 0;
    printf("请输入第一个字符传递给scanf:");
    scanf("%c",&ch1);
    printf("请输入第二个字符传递给getchar:");
    //fflush(stdin);    清除输入缓冲区
    while((tmp=getchar())!=EOF && tmp!='\n');//功能类似fflush()函数
    ch2 = getchar();
    if(ch2!=EOF){
        printf("\n我接受到了数据!ch2=%c",ch2);
    }
    return 0;
}

如果不清除缓冲区,当输入一个字符回车时会发生什么?和想要的结果一样吗?

更多内容,敬请期待......

上一篇:
下一篇: