c primer plus第八章课后题第2题:打印字符和和它的ASCII值

https://blog.csdn.net/qq_36324796/article/details/78920390?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
参考这位老哥写的。
一开始我用了很多if-else,后面才发现可以用switch。
但我觉得这个题出得不好,不明确,比如第二十七到三十二号字符怎么处理就没有说。(我也看不懂这几位都是干啥的,除了空格)

我打印的格式是 字符:ACSII码

int main(void){
    char ch;
    int num = 0;
    
    printf("input your words:");
    while((ch = getchar()) !=EOF){
        switch(ch){
                case '\n':
                printf("%c : \\n ",ch);
                num++;
                break;
                case '\t':
                printf("%c : \\t ",ch);
                num++;
                break;
                default:
                if(ch<' '){
                    printf("%c : ^%c ",ch,ch+64);
                }else{
                    printf("%c : %d ",ch,ch);
                }
                num++;
                break;
        }
        if(num % 10 == 0){
            printf("\n");
        }
    }
    
    return 0;
}

这道题对我来说有价值的知识点是:一排打印几个不一定需要二维数组,也可以用标志变量控制,会简单一点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值