问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言,输入2473,输出668977,我想请问一下,是先给c赋值为2,还是2473?

发布网友 发布时间:2022-09-01 02:19

我来回答

3个回答

热心网友 时间:2024-02-28 10:24

#include<stdio.h> 
void main() 
{
    char c; 
    while((c=getchar())!='\n') 
    {
        switch(c-'2')
        {
            case 0: case 1: putchar(c+4); 
            case 2: putchar(c+4);break; 
            case 3: putchar(c+3); 
            default: putchar(c+2);break;
        }
    }
    printf("\n");
    return 0;
}


getchar仅仅读取一个字符,写在while语句的判断条件里,则每执行一遍循环就执行一遍getchar,即读取一个字符。

        输入2,执行第一遍循环,c值2,执行switch(c-'2'),括号中的c-'2'返回值是0。执行case 0:case 1:putchar(c+4); case 2:putchar(c+4); break; 就是输出c+4所代表的字符,就是6,输出两遍6,然后遇到break跳出。

        输入4,执行第二遍循环,c值4,执行switch(c-'2'),括号中的c-'2'返回值是2。执行case 2:putchar(c+4); break; 就是输出c+4所代表的字符,就是8,然后遇到break跳出。

        输入7,执行第三遍循环,c值7,执行switch(c-'2'),括号中的c-'2'返回值是5。没有case对应,执行default: putchar(c+2); break; 就是输出c+2所代表的字符,就是9,然后遇到break跳出。

        输入3,执行第四遍循环,c值3,执行switch(c-'2'),括号中的c-'2'返回值是1。执行case 1:putchar(c+4); case 2:putchar(c+4); break; 就是输出c+4所代表的字符,就是7,然后遇到break跳出。

        最后输出结果就是 66897

        望采纳~~~

热心网友 时间:2024-02-28 10:24

c-'2'是指将字符c的ascii码与字符'2'的ascii作差。
输入为2,差的结果为0,执行case
0,没有break,继续执行case
1,输出
c+4,因为c为2,所以输出6;没有break,继续执行case
2,输出
c+4,还是6;遇到break,退出swith语句。
输入为4,差的结果为2,执行case
2,输出c+4,为8,遇到break,退出swith语句。
输入为7,差的结果为5,执行default,输出为c+2,即9,后面没有语句了,即使没有break,也退出switch语句。
输入为3,
差的结果为1,执行case
1,输出
c+4,即7,没有break,继续执行case
2,输出c+4,即7,遇到break,退出switch,输入结束,退出while循环。
故此输出为:668977

热心网友 时间:2024-02-28 10:25

赋值为'2',getchar()是读取一个字符追问2-2=0,0+4+4=8,那第一个返回的数不应为8吗?请问我哪里算错了?

追答首先c-'2'=0
switch执行case 0没有语句,向下贯穿,执行case 1,输出 putchar(c+4),
注意这里是输出(c+4),并没有赋值c还是为'2',
继续向下贯穿,执行case 2,输出 putchar(c+4),
break,跳出switch

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
创新5.10060声卡怎么关闭,为什么音质变得很差?我用的是KX 我已经装了声卡,和Kx管理器。可声音听见还是那么幼稚。怎么把声音调的... ...装不上KX3550,声卡是 创新5.1的 装完KX3550重启以后,提示 初始化... 我买了一个创新5.1 0060声卡,玩龙之谷游戏就声音不完全,只有背景音乐... 声卡5.10060KX驱动3550调试怎么弄 win11玩csgo游戏一直闪退什么原因 win11玩csgo游戏一直闪退的解决... 习惯养成心得体会 饥荒ios高脚鸟蛋怎么孵化高脚鸟怎么养 故事的力量可以从什么角度来分析? 地震前为什么要出现地震云 ipad 为什么有时候充不上电? ipadmini冬天充不进电,各位有没有碰到过 ipad怕冷吗? 天气冷了,我的iPad要盖被子才能充上电,不盖被子一点都充不上!是太怕 ... 煎小牛柳干葱汁的好吃做法? 乐视D554CN6边框怎么拆 静候佳音是什么意思啊 QQ飞车魅力值升到5要多少钱? QQ飞车豪华版紫钻和普通版紫钻怎么回事,好多地方都一样,这怎么一回事... 老是恐惧和害怕怎么办 苹果iphone7plus多少钱 苹果7plus怎样的最新相关信息 iphone7 plus 2017年新年会降多少?到那时候多少钱 如何将一个上的聊天记录共享给另一个? 如何将一个上的聊天记录共享给另一个? 六年级暑假日记350字左右 四年级350字日记15篇 梦见跳进水里的预兆是什么 嘉陵江源头风景区的介绍 嘉陵江的发源地在哪里?嘉陵江经过了了哪些省份 c语言,为什么输入2473后结果是668977,程序是怎么运行的? c语言求解!若输入2473,答案为什么是668977。求详细过程!谢谢!_百度知... 如何成为一个搞笑幽默的人? 薄荷精油哪里有卖? 薄荷油在哪买? 广州花都区哪里可以买到食用薄荷油? 哄女朋友的睡前故事超甜 如何做好餐饮店长经理? 圆锥体的母线是什么 简单的C语言题 三道简单的C语言题目 一道简单的C语言题目 C语言简单题目 三星手机怎么屏幕校准 只好守护着世界上最愚蠢的聆听者是什么歌 诺基亚900如何拆机 诺基亚900的手机电池可以拆卸吗? 诺基亚900sim卡槽怎么样取出 诺基亚900的电池从哪里打开? 诺基亚900能换电池吗?