[求助]关于字符型数据的问题
有一段程序:#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的分支过程.
先谢谢啦
有一段程序:
#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的分支过程.
先谢谢啦
----------------解决方案--------------------------------------------------------
加上那个输出语句后,就明了了。然后你根据程序的输出自己分析一下就行了。
----------------解决方案--------------------------------------------------------
哦 !!!
明白了 太感谢了~~~
----------------解决方案--------------------------------------------------------