电脑网络 手机数码 生活 游戏 体育运动 明星影音 休闲爱好 文化艺术 就业职场 教育科学 健康医疗 商业理财 情感家庭 地区 其他

C语言高手请进

2023-11-30 21:32:57

#include "stdio.h"
main ( )
{char str[]="SSSWILTECH1\1\11W\1WALLMP1"; 1 l 1 l I
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; l }
putchar(*); }
}


谁可以告诉我一下这个程序的结果的来龙去脉。。。

好评回答
for(k=2;(c=str[k])!=\0;k++)

//从str[2]开始,也就是字符S开始执行循环
第一次是字符S,执行switch中的最后一个default,输出字符S

str[3]和str[4]的字符W和字符I都是照样输出
str[5]字符L与caseL皮配,执行continue直接跳到循环语句的条件语句。也就是k++处器强致践移话感棉理
str[6]--str[9]的字符TECH都是执行的default照样输出
str[10]是字符1,执行case1跳出switch,输出swtich后的字符*
str[11]是字符\1,字符\1就是整数1,因此执行case1后面的while语句,str[++k]=str[12]=\11,因此条件成立,继续while语句,这时str[++k]=str[13]=W!=\1继续while,这时str[++k]=str[14]=\1==\1条件成立,跳出while循环,执行后面的case9输出字符#,然后执行caseE,caseL执行con底似条tinue然后跳到for循环的k++,这时k=15;
str[15]=W输出字符W;
str[16]=A输出小写字母a
str[17]和str[18]执行caseL不做任何事
str[19]和str[20]分别输出MP
str[21]=1执行case1跳出switch,执行swith外的putchar输出*程序结束,
因此程序最后输出SWI尽的逐长资加供穿TCH*#WaMP*
相关推荐
  • C语言高手请进~~
  • c语言编程高手请进!
  • c语言高手请进(填空题)
  • C语言高手请进,急求!先谢谢了~~~》》》
  • c语言高手请进,关于for的嵌套
  • C语言高手请进~急求C编写的票务信息管理系统程序
  • C语言高手请进,结构体里的元素前面有一点“.”代表什么意...
  • © 融合问答