c语言,求高手,

#include<stdio.h>
int main()
{
int a=2,b=7,c=5;
switch(a>0)
{
case 1:switch(b<0)
{
case 1:printf("@");break;
case 2;printf("!");break;

}
case 0:switch(c==5)
{
case 1:printf("*");break;
default:printf("#");break;
}
default:printf("&");
}
printf("\n");
return 0;
}

#include<stdio.h>

int main()
{
int a=2,b=7,c=5;
switch(a>0) //a=2,2>0条件成立,结果为1,switch(1),进入case1;
{
case 1:switch(b<0)//switch(7<0)不成立,结果为0,switch 0,下面没case 0所以进行上个switch的下面语句.进入case 0;(注意case 1:case 1:switch(b<0) 后面没有break那么它执行完后会继续执行下面的语句。)
{
case 1:printf("@");break;
case 2:printf("!");break;

}
case 0:switch(c==5)// c==5成立,结果为1,swtich(1),输出*,跳出这个switch语句,然后执行上个switch下面的语句.
{
case 1:printf("*");break;
default:printf("#");break;
}
default:printf("&");//输出&.
}
printf("\n");
return 0;
}
所以结果是:*&
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-08
先说语法错误case 2后应该是冒号,而不是分号
其次你的switch用法我还真没有见过,
第2个回答  2013-05-08
你想干嘛呢,说说要求
相似回答