二级C语言问题(三)

来源:百度知道 编辑:UC知道 时间:2024/09/21 06:40:22
#include<stdio.h>
main()
{int 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);
case 4: putchar(c+2);break;
}
printf("\n");
}
如何解答?需要过程.

switch(c-'2')
{case 0:;
case 1: putchar(c+4);
case 2: putchar(c+4);break;
case 3: putchar(c+3);
case 4: putchar(c+2);break;
}

如果输入是2的话,执行://break才结束
case 0:;
case 1: putchar(c+4);
case 2: putchar(c+4);break;
如果输入是3的话,执行:
case 1: putchar(c+4);
case 2: putchar(c+4);break;
如果是4的话,执行:
case 2: putchar(c+4);break;
如果是5的话,执行:
case 3: putchar(c+3);
case 4: putchar(c+2);break;
如果是6的话,执行:
case 4: putchar(c+2);break;
如果是其他字符的话,啥也不干

这题是干啥的啊,是改错吗?

什么东西?

啥意思啊?

#include<stdio.h>
main()
{int c;
while((c=getchar())!='\n') //取一字符
switch(c-'2') //以C-'2'作边下边的运算
{case 0:; //c-'2'=0时什么都不作
case 1: putchar(c+4); //c-'2为1时c+4
case 2: putchar(c+4);break; //c-'2'为2时输出c+4
case 3: putchar(c+3); //c-'2'为3时输出c+3
case 4: putchar(c+2);break; //c-&#