请高手帮我解决一下这道题,谢谢!
若程序执行时的输入数据位“2473”,则下列程序的输出结果为()#include<stdio.h>voidmian(){intcs;while((cs=getchar()...
若程序执行时的输入数据位“2473”,则下列程序的输出结果为( )
#include<stdio.h>
void mian( )
{
int cs;
while((cs=getchar( ))!=;'\n')
{
switch(cs-'2')
{
case 0
case 1: putchar(cs+4);
case 2: putchar(cs+4);
break;
case 3: putchar(cs+3); default: putchar(cs+2);}}}
A 668977 B 668966 C 6677877 D 6688766
请简略的说一下过程,谢谢!! 展开
#include<stdio.h>
void mian( )
{
int cs;
while((cs=getchar( ))!=;'\n')
{
switch(cs-'2')
{
case 0
case 1: putchar(cs+4);
case 2: putchar(cs+4);
break;
case 3: putchar(cs+3); default: putchar(cs+2);}}}
A 668977 B 668966 C 6677877 D 6688766
请简略的说一下过程,谢谢!! 展开
展开全部
输入2473后,然后C保存到缓存区中。而循环实际上执行了四次,分别读入'2','4','7','3'。
第一次:
读入'2',cs-'2'为0;这是执行case 0,case 1,case 2一直到break。case 1和case 2都输出'2'+4也就是字符'6'。
第二次:
读入'4',cs-'2'为2;这是执行case 2一直到break。case 2都输出'4'+4也就是字符'8'。
第三次:
读入'7',cs-'2'为5;这是执行cdefault。输出'7'+2也就是字符'9'。
第四次:
读入'3',cs-'2'为1;这是执行case 1,case 2一直到break。case 1和case 2都输出'3'+4也就是字符'7'。
总起来看,第一次输出66,第二次输出8,第三次输出9,第四次输出77。
所以结果就是668977,答案是A。
第一次:
读入'2',cs-'2'为0;这是执行case 0,case 1,case 2一直到break。case 1和case 2都输出'2'+4也就是字符'6'。
第二次:
读入'4',cs-'2'为2;这是执行case 2一直到break。case 2都输出'4'+4也就是字符'8'。
第三次:
读入'7',cs-'2'为5;这是执行cdefault。输出'7'+2也就是字符'9'。
第四次:
读入'3',cs-'2'为1;这是执行case 1,case 2一直到break。case 1和case 2都输出'3'+4也就是字符'7'。
总起来看,第一次输出66,第二次输出8,第三次输出9,第四次输出77。
所以结果就是668977,答案是A。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询