#include
int choice;
IicInt(void)
{
int i,j;
int a=0,b=0,c=0,d=0,e=2;
switch(choice)
{
case 1:
a=2;
b=a--; //b=2,自增减运算符“++”“--”只改变自身的值,且事后生效
c=a; //经过a--之后,a的值=?//a=1
break; //case的作用域到break之前
case 2:
a=2;
b=a-1; //b=1,这里a-1的值并不保留,当时生效
c=a; //经过a-1之后,a的值=?//a=2
break;
case 3:
for(j=0;j<10;j++)
{
for(i=0;i<10;i++)
{ if(a==5)
break; //break只能跳出该层循环
a++;
}
a++;
}
break;
case 4:
for(j=0;j<10;j++)
{
for(i=0;i<10;i++)
{
if(a==5)
{
return a; //return能跳出所有的循环,将结果返回
}
a++;
}
a++;
}
break;
case 5:
for(i=0;i<10;i++)
{ //--自增减运算符,“事”“后”生效
if((e--)==0) //if中e=2的话,需要循环多少次e=0?
{
d=i; //d=2,需要循环3次,e=0
break; //break只能跳出一重循环
}
a++;
}
//无break,将继续执行case6,7.....直到default
case 6:
for(i=0;i<10;i++)
{ //“事”“前”生效
if((e=e-1)==0) //if中e=2的话,需要循环多少次e=0?
{
d=i; //d=1,需要循环2次,e=0
break; //break只能跳出一重循环
}
a++;
}
break;
case 7:
for(i=0;i<10;i++)
{
while((e--)!=0) //while中e=2的话,需要循环多少次e=0?
{
d=i; //d=1,需要循环2次,e=0
break;
}
}
break;
case 8:
for(i=0;i<10;i++)
{
while((e=e-1)!=0) //while中e=2的话,需要循环多少次e=0?
{
d=i; //d=0,需要循环1次,e=0
break;
}
}
break;
case 9:
a=2;
if(a & 0x8) //if(0)//并不能改变a的值
b=a;
else
c=a; //c=2;
d=a&0x8; //d=0
c=1; //c=1
c=a; //c=2//a的值并不会变
default:
break;
}
}
void main(void)
{
int z,k;
printf("请输入1~9,进行测试\n");
for(k=0;k<9;k++)
{
scanf("%d",&choice);
z=IicInt(); //这里z=5
}
}
阅读(1685) | 评论(0) | 转发(0) |