小弟初来乍到,这个死循环怎么解?
#include<stdio.h>int main()
{int a[6][6]={0};
int l;
int i=0,j=0,m=1,e=0,k=1;
printf("请输入层数:");
scanf("%d",&l);
int n=4,h=4,z=25;
while(k!=z)
{ for(;((m%2==0)?(j>=e):(j<=n));((m%2==0)?(j--):(j++)))
{a[i][j]=k++;}
if(m%2==0)
{i--;e++;j++;}
if(m%3==0&&m!=1)
h--;
j--;i++;k++;
for(;((m%2==0)?(i>=e):(i<=h));((m%2==0)?(i--):(i++)))
{a[i][j]=k++;}
if(m%2==0)
{n--;j++;i++;m++;}
else {m++;i--;j--;}
}
for(i=0;i<5;i++)
{for(j=0;j<5;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
主要是for循环里的三目运算符,求大佬指教