C语言问题求解:下列程序的输出是_____________?

C语言问题求解:下列程序的输出是_____________?,第1张

case 这里的用法是表示从哪个行标开始执行,镇饥笑如果在不加break的跳出switch的情况下后续的语句同样会执行,如果只想满足条件执行一种情况需要加break

比如 case 'a'肢厅: putchar(*s+1)break

// 1. *s= 'a'

// 1. (*s='a')从case ‘a’开始执行一直到default,分别打印了4个字符*s+1~*s+4即bcde

2. *s= 'b'

// 2. (*s='b')从case ‘b’开始执行一直到default,分别打印了3个字符*s+2~*s+4即def

3. *s= 'c'

// 3. (*s='c'御含)从case ‘c’开始执行一直到default,分别打印了2个字符*s+3~*s+4即fg

#include<stdio.h>

int main()

{

char *s="abc"

while(*s)

{

switch(*s) // 1. *s= 'a'2. *s= 'b'3. *s= 'c'

{

case 'a':putchar(*s+1)// 1. (*s='a')从这里开始执行一直到default,分别打印了4个字符*s+1~*s+4即bcde

case 'b':putchar(*s+2)// 2. (*s='b')从这里开始执行一直到default,分别打印了3个字符*s+2~*s+4即def

case 'c':putchar(*s+3)// 3. (*s='c')从这里开始执行一直到default,分别打印了2个字符*s+3~*s+4即fg

default: putchar(*s+4)

}

s++

}

}

这个程序的败启输出结果是9。

这个程序相当于下面的程序,省略掉③和④一对花括号

程序分析

③句和④不会被察培如执行,所以,z的值是9。

判断③和④隐含一个花括号的中指方法是,else与最近的if语句配对。

有什么问题请留言。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8193227.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-14
下一篇2023-04-14

发表评论

登录后才能评论

评论列表(0条)

    保存