这个程序的结果是 000122,但是我不知道怎么来的,请教各位高手能帮忙!!

来源:百度知道 编辑:UC知道 时间:2024/05/31 19:18:39
main()
{
int (i);
for(i=0;i<3;i++)
switch(i)
{
case 0:printf("%d",i);
case 2: printf("%d",i);
default :printf("%d",i);
}
} 因为我是才学的,所以希望能够逐句的帮我解释

一般来说case后面必须加上break;否则下面的语句都会执行,即使不符合下面的case条件。
比如i=0的时候,case 0 符合,则输出了0,但是没有break,所以case2和default的也都执行了,又输出2次0。
i=1 default输出一次1
i=2 的时候case 0不对,case 2 符合,输出一次,没有break,所以default又输出一次。
结果是000122

main()
{
int (i);
for(i=0;i<3;i++)
switch(i)
{
case 0:printf("%d",i); brack;
case 2: printf("%d",i); brack;
default :printf("%d",i); brack;
}
}

好好看看SWITCH语句的用法