题目
有以下程序,程序运行结果为( )。```#include "stdio.h"main()(char ch;ch='s';switch(ch){ case 'a': printf("a=%cn",ch);default: printf("end!n");case 'b': printf("b=%cn",ch);case 'c': printf("c=%cn",ch);)}```A. end! <回车> b=s <回车> c=sB. end!C. 有语法错误D. a=s <回车> end!
有以下程序,程序运行结果为( )。
```
#include "stdio.h"
main()
{
char ch;
ch='s';
switch(ch)
{ case 'a': printf("a=%c\n",ch);
default: printf("end!\n");
case 'b': printf("b=%c\n",ch);
case 'c': printf("c=%c\n",ch);
}
}
```
A. end! <回车> b=s <回车> c=s
B. end!
C. 有语法错误
D. a=s <回车> end!
题目解答
答案
程序中,`ch`的值为`'s'`,未匹配任何`case`,因此直接执行`default`分支。
1. 输出`end!`。
2. 由于缺少`break`,继续执行`case 'b'`和`case 'c'`。
3. 分别输出`b=s`和`c=s`。
最终结果为:
```
end!
b=s
c=s
```
答案:A. end!<回车>b=s<回车>c=s