以下程序输出的结果是
#include<stdio. h> void main()
{ char op=' d' switch (op)
{
case
'a' :printf ("%c",'a'); break;
case
'b'printf ("%c"
'b') :break;
case c:printf ("%c",' c') ;break;
case
"d':printf("%c",'d');
default printE ("%c", ' e'); }
这看的是真难受
cha r op='d'单引号里面多了一个空格!打印应该会是de,因为这两个case后面没有break
如果你的代码是这样的,那么打印的是 de ,因为进入 d 的分支后没有 break 就会继续执行
#include <stdio.h>
void main()
{
char op = 'd';
switch (op)
{
case 'a':
printf("%c", 'a'); break;
case 'b':
printf("%c", 'b'); break;
case 'c':
printf("%c", ' c'); break;
case 'd':
printf("% c", 'd');
default:
printf("%c", ' e');
}
}