当前位置: 代码迷 >> C语言 >> switch一题
  详细解决方案

switch一题

热度:336   发布时间:2007-01-05 15:29:18.0
switch一题

8.下列程序段的输出结果是( passwarn )。 为什么不是;passpasswarnwarn??
int n='c';
switch(n++)
{
default: printf("error");break;
case 'a': case 'A': case 'b': case 'B':printf("good");break;
case 'c':case 'C':printf("pass");
case 'd':case 'D':printf("warn");
}

搜索更多相关的解决方案: switch  case  printf  break  pass  

----------------解决方案--------------------------------------------------------
执行case 'c':case 'C':printf("pass");
case 'd':case 'D':printf("warn");
这两个语句
----------------解决方案--------------------------------------------------------
两条语句中没有break
----------------解决方案--------------------------------------------------------
怎么可能执行两遍?
case 'c':
case 'C':printf("pass");
case 'd':
case 'D':printf("warn");

你看他会吗?
----------------解决方案--------------------------------------------------------
case 'c':
case 'C':printf("pass");
当满足其中的一个条件时,
就执行printf("pass"); 一次。
----------------解决方案--------------------------------------------------------
int n='c';
switch(n++)
{
default: printf("error");break;
case 'a': case 'A': case 'b': case 'B':printf("good");break;
case 'c':case 'C':printf("pass"); //这后面没有break语句所以要继续执行下面的语句
case 'd':case 'D':printf("warn");
}
这样的输出结果当然是passwarn为什么要输出两遍呢,我也不知道:(:(
----------------解决方案--------------------------------------------------------
你以为这个是循环语句.
----------------解决方案--------------------------------------------------------

switch(n++)
有这样的循环???
int n='c'
if(n>=c)
{n++;
switch(n)
case :
}


----------------解决方案--------------------------------------------------------
我想问的是:case 'c':case 'C':printf("pass");
对这个语句的理解书上说对于多个case都同时执行一个相同的语句或语句组时可以写成如下形式,即就是等价于
case 'c':printf("pass");
case 'C':printf("pass");
所以当第一个判断时,即n++时也就是在这时n 取的值是小写的c 即执行 case 'c':printf("pass"); 即先输出pass接着向下顺序执行 case 'C':printf("pass"); 即第二次输出pass,再执行case 'd':case 'D':printf("warn")即再有二次warn输出,即最后的输出结果为
passpasswarnwarn
2.我认为还有一问题就是虽然最后的n 的值已经变成了'd'但是它必没有在本程序段中有实质性的作用
----------------解决方案--------------------------------------------------------
n是先使用完了后再自增的
----------------解决方案--------------------------------------------------------
  相关解决方案