#include "stdio.h" main ( ) {char str[]="SSSWILTECH1\1\11W\1WALLMP1"; int k;char c; for(k=2;(c=str[k])!='\0';k++) {switch( c ) { case 'A': putchar('a');continue; case '1': break; case 1 : while((c=str[++k])!='\1'&&c!='\0'); case 9 : putchar('#'); case 'E': case 'L': continue; default : putchar(c );continue; } putchar('*'); } } 是怎么得出SWITCH*WallMP*的?
2条回答 默认 最新
qq_25376897 2020-12-07 11:27关注k=2,即从第3位开始,'S' 判断是进default,所以S输出;
WI这两个也是一样输出;
L进continue 不输出;
T输出,
E continue 不输出;
CH输出;
1进 '1' break跳出switch,输出*;
\1进入case 1,while循环,一直走到第2个\1,然后走case 9输出#,一直到continue 进入下次循环;
W输出;
A输出'a';
MP输出;
1进 '1' break跳出switch,输出*;
结束
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 2无用