当前位置: 代码迷 >> C语言 >> [求助]关于字符型数据的问题
  详细解决方案

[求助]关于字符型数据的问题

热度:339   发布时间:2007-01-19 23:08:59.0
[求助]关于字符型数据的问题
有一段程序:

#include <stdio.h>
main()
{
int c;
while((c=getch())!='\n')
{
switch(c-'2') /*不知道 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");
}

当输入:2473 时会显示
668977
请帮忙解释一下switch的分支过程.
先谢谢啦
搜索更多相关的解决方案: 数据  字符  

----------------解决方案--------------------------------------------------------
以下是引用wuxiaoqi119在2007-1-19 23:08:59的发言:
有一段程序:

#include <stdio.h>
main()
{
int c;
while((c=getch())!='\n')
{
printf("c=%d, c-\'2\'=%d\n",c,c-'2');
switch(c-'2') /*不知道 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");
}

当输入:2473 时会显示
668977
请帮忙解释一下switch的分支过程.
先谢谢啦


----------------解决方案--------------------------------------------------------

加上那个输出语句后,就明了了。然后你根据程序的输出自己分析一下就行了。


----------------解决方案--------------------------------------------------------
哦 !!!
明白了 太感谢了~~~
----------------解决方案--------------------------------------------------------
  相关解决方案