#include void 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("#");}}}请问是怎么输出的?
来源:学生作业学帮网 编辑:学帮网 时间:2024/06/09 13:15:24
#include
void 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("#");
}
}
}
请问是怎么输出的?
它里面有一个递归调用:
当X=0时,执行case 0:进入
switch(y==2)
{case 1 :printf("*");break;
case 2 :printf("%");break;
}
因为里面只是一个比较过程,而没有所要执行的值,switch()中没有找到匹配的就按顺序执行下去,遇到case 1 :printf("*");break;输出一个“*”;跳出;
接下来执行,case 1:switch(z),(说明:z=3)
找到case 3,而现在没有只能找最后一个default:printf("#");
所以最后只执行default:printf("#");
最后输出 * #;
完毕.理解否?
#include void main( ) { int k=-3; if (k
#include void main(void) {int a1=10,a2=3; float a3=8.0; cout
#include reg52.h sbit P1_0 =P1^0; void DELAY(); main() { while(1) { DELAY(); P1_0=~P1_0; } } void
以下程序中,while 循环的次数是#include void main(void){ int i = 0;while (i
#include void main( ) { float x,y; scanf(%f,&x); if(x
#include void main(){int i,j,a=0;for(i=0;i
#include void main( ) { float x,y; scanf(%f,&x); if(x
# include void main() { int y=10; while(y--); printf(y=%d,y); }
九九乘法表程序#include void main(){int i,j,a;for(i=1;i
#include void main() { int i;int sum=0; for(i=1;i
#include void main() { int a[3][3],i,j; for(i=0;i
#include void main() { int y=10; do{ y--; } while(--y); printf(%d
,--y); }
#include void main() { int a,b,c; for(a=1; a
#include void main() { int a,c; a=0; if (a
编程分段函数#include void main(){int x,y;scanf(%d,&x);if(x
# include void main( ) { int x = 4 ; do { printf( %d ,x-- ) ; } while( x ) ; }
#include void main() { char a1='M',a2='m'; printf(%c
,(a1,a2)); }
#include void main(){int a[30];int i;for (i=0,i