8.10.8 使用getchar函数之前记得处理换行符

1608836-20190514214417586-695756540.png

 # 8.10.8
#include <stdio.h>
int main(void)
{
    printf("使用getchar函数之前记得处理换行符");
    putchar('\n');
    printf("在使用缓冲输入的系统中,");
    printf("把数值和字符混合输入会遇到");
    printf("什么潜在问题?");
    putchar('\n');

    printf("假设数字用scanf函数处理");
    printf("字符用getchar函数处理");
    printf("getchar读取空格,换行符,制表符");
    printf("scanf会跳过空格,换行符,制表符,把它放在输入中");
    printf("getchar会读取多余的字符。");
    
    printf("数值输入会跳过空格和换行符,但是字符输入不会。");
    int score;
    char grade;

    printf("Enter the score.\n");
    scanf("%s", &score);
    printf("Enter the letter grade.\n");
    grade = getchar();
    
    printf("如果输入分数98,然后按下Enter键把分数发送给程序,");
    printf("其实还发送了一个换行符。\n这个换行符会留在输入的序列");
    printf("中,成为下一个读取的值(grade)。");
    printf("如果在字符输入之前输入了数字,就应该在处理字符输入");
    printf("之前添加删除换行符的代码");

    return 0;
}

1608836-20190514214430316-1454817985.png

转载于:https://www.cnblogs.com/EisNULL/p/10864797.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值