这个咋看呀,解释一下

有以下程序: 

 

#include<stdio.h>  

 

main() 

 

{int a[]={2,3,5,4},i; 

 

for(i=0;i<4;i++) 

 

  switch(i%2) 

 

  {case 0:switch(a[i]%2) {case 0:a[i]++;break; case 1:a[i]--; }break; 

 

   case 1:a[i]=0; 

 

   } 

 

  for(i=0;i<4;i++)printf("%d",a[i];printf"\n"); 

 

 } 

 

程序运行后的输出结果是().

输出结果 3 0 4 0 

int a[] = { 2,3,5,4 }, i;

	for (i = 0; i < 4; i++)				//0		1		2		3
	{
		switch (i % 2)				//0		1		0		1			
		{
		case 0:
			switch (a[i] % 2)		 //0			  1		   
			{
			case 0:
				a[i]++;			 //a[0] = 3
				break;
			case 1:
				a[i]--;				   //a[2] = 4
			}break;
		case 1:a[i] = 0;					//a[1] = 0              //a[3] = 0
		}

	}
	for (i = 0; i < 4; i++)
	{
		printf("%d", a[i]);
		printf("\n");
	}
}