#include "stdio.h"
main()
{int c;
while((c=getchar())!='\n')
{switch(c-50)
{ 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");
}
switch(c-50)
改为switch (c-'2')
printf 上去掉一个{
c语言,为什么输入2473后结果是668977,程序是怎么运行的?
4.接收3,即c=‘3’,减去'2',结果为1,就会走case 1,2,就会输出两个c+4,即输出两个7 所以结果就是668977
这个C程序输入2473是怎么得到668977这个结果的?要详细过程
c='3'c-'2'=1 switch的入口就是 case 1->case 2 break; 输出 77 结果就是668977
C语言问题~~~
输出结果是:668977 输入2473 while((c=getchar())!='\\n')先读第一个字符 c = 2 switch(c-'2') 是0 所以是 case 0:因为case 0没有break,所以会执行下一个case 1:中的语句putchar(c + 4)(打印一个6),执行完后还是没有break,继续执行下一个case 2:中的语句putchar(c + ...
c语言程序输入“2473”不知怎么得到“668977”(求分析过程):_百度知...
得到668977就是正确的。没有为什么,就是这样。多说一句,你可以把cs-2看做一把钥匙,只要打开了,除非你break,否则会把后面witch的语句(包括default)都执行。
初学者C语言程序改错题
依次输入2473得到输出668977,只需修改一处地方。在case 2:putchar(c+4);后面加上 break;分析如下:使用getchar输入,每次只能识别一个字符,而又使用了while循环,输入2473就相当于输入了4个数,while每次识别一个。先分析输入2的情况:这里的2是字符'2',执行switch(c-'2'),‘2’-‘2’=0;因此...
若运行以下程序时,从键盘输入2473,回车,则程序的运行结果是
668977 c=2 进 case c-'2' -- case 0:case 1: 打 c+4 输出 6 (2+4=6)进 case 2: 打 c+4 输出 6 (2+4=6), break 退出 [66]c=4 进 case c-'2' -- case 2:打 c+4 输出 8 (4+4=8), break 退出 [8]c=7 进 case c-'2' -- case 5: default:打 c+2 ...
下列C语言程序运行时输入2473↙,则输出结果是( )。
第一次循环getchar只接受第一个字符,也就是2,2减去2为0,所以case0:,case1:加了4;输出cx=6;case2也一样;然后break;继续循环,接受了第二个输入的字符;下面也差不多,知道cx为\\n跳出;这边要注意的是getchar与putchar都是一个字符的操作,还有在cx+4或者其他情况是,cx的值都是不变...
C语言的一道计算结果分析试题,百思不得其解,大家分析下,谢了
2473<CR> while((c=getchar())!=’\\n’){ switch(c-‘2’) { case 0:case 1:putchar(c+4); \/\/第一次输入c=‘2’,c-'2'=0,走到这里,输出c+4='2'+4='6' 没有break继续下面case 2的语句 再输出一次c+4=6 第四次输入3,c-'2'=1走到这里,同第一次会输出两个...
一道C语言的题
输出结果为:9;输入3:c=3,则c-‘2’为1。所以执行 case1:putchar(c+4);(同样,这里没有break所以必须按顺序执行接下来的那条语句!!!)case2:putchar(c+4);break;又遇到break,这时就彻底跳出循环,因为数据也输入完了,输出结果为:77,所以答案为668977,也就是A了。
C语言 从键盘键入2473<回车> 则下面程序的运行结果是
2473<回车> c读取2是 switch(c-'2')相当与switch(0) 所以会输出2个2+4=6;即全面的2个6,case语句只有碰到break才会跳出,不然会一直运行先去;c读取4时,switch(c-'2') 相当于 switch(2) 所以输出4+4 = 8;c读取7时,switch(c-'2') 相当于 switch(5)没有找到对应的case,则输出...