谁知道这个C语言的结果是什么?它是怎么运行出来的?
#include<stdio.h>main(){intx=0,y=2,z=3;switch(x){case0:switch(y==2){case1:printf("*")...
#include<stdio.h>
main()
{
int x=0,y=2,z=3;
switch(x)
{
case 0:switch(y==2)
{
case 1: printf("*");break;
case 2: printf("%");break;
}
case 1:switch(z)
{
case 1: printf("$");
case 2: printf("*");break;
default:printf("#");
}
}
}
给我结果 展开
main()
{
int x=0,y=2,z=3;
switch(x)
{
case 0:switch(y==2)
{
case 1: printf("*");break;
case 2: printf("%");break;
}
case 1:switch(z)
{
case 1: printf("$");
case 2: printf("*");break;
default:printf("#");
}
}
}
给我结果 展开
2个回答
展开全部
#include <stdio.h>
void main()
{int x=0,y=2,z=3;
switch(x)
{
case 0:
switch(y==2) /*y==2为真,所以这里等价于switch(1)*/
{
case 1:printf("*");break; /*输出*,跳出*/
case 2:printf("%");break;
}
case 1:switch(z) /*执行此处,因为z=3所以输出#*/
{
case 1:printf("$");
case 2:printf("*");break;
default:printf("#");
}
getch();
}
}
因此最后输出*#
void main()
{int x=0,y=2,z=3;
switch(x)
{
case 0:
switch(y==2) /*y==2为真,所以这里等价于switch(1)*/
{
case 1:printf("*");break; /*输出*,跳出*/
case 2:printf("%");break;
}
case 1:switch(z) /*执行此处,因为z=3所以输出#*/
{
case 1:printf("$");
case 2:printf("*");break;
default:printf("#");
}
getch();
}
}
因此最后输出*#
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询