这个的运行结果是啥,怎么计算的,请详细一点🙏

#include<stdio.h>
int main( )
{
char c ;
c = getchar( );
while ( c != '\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;
}
c = getchar( );
}
printf( "\n" ) ;
return 0 ;
}

学会单步调试

供参考:
假设我们输入:1234
读取1 switch('1' - '2') = -1,case 里没有符合条件的,跳过
读取2 switch('2' - '2') = 0 ,case 0:
case 1: putchar(c+4); = 2+4=6
case 2: putchar(c+4); = 2+4=6
break; 跳出 switch
读取3 switch('3' - '2') = 1 case 1: putchar(c+4); = 3+4=7
case 2: putchar(c+4); = 3+4=7
break;
读取4 switch('4' - '2') = 2 case 2: putchar(c+4); = 4+4=8
break;
最终输出的:66778