C ++有关问题

C ++问题#include stdio.hint main(){int j,a[]{1,3,5,7,9,11,13,15},*pa+5for(j3jj--){switch(j)

C ++问题
#include <stdio.h>

int main()
{
int j,a[]={1,3,5,7,9,11,13,15},*p=a+5;
for(j=3;j;j--)
{
switch(j)
{
case 1:
case 2:printf("%d",*p++);break;
case 3:printf("%d",*(p--));
}
}
return 0;

为什么,谢谢了,详细点。。。
[解决办法]



#include <stdio.h>

int main()
{
int j,a[]={1,3,5,7,9,11,13,15},*p=a+5;
for(j=3;j;j--)
{
switch(j)
{
case 1:              //如果j==1会执行case 2:,
case 2:printf("%d",*p++);break;
case 3:printf("%d",*(p--));
}
}
return 0;


循环三次:
    
1:输出11 后 p指向9;
2:输出9  后 p指向11;
3:先case1,再case2 输出11

循环退出。