请教大神。

/*程序9-2,源程序文件pro9-2.c*/
#include <stdio.h> 
#define   N   3
void   main() 
{ 
int a[N+1][N+1];                    //三阶魔方真为何定义一个4*4的二维数组
  	int i,j,k,l=0; 
  	for(i=0;i <N;i++) 			//  第7行
    	for(j=0;j <N;j++) 
      		a[i][j]=0; 
  	i=1; 
  	j=N/2+1; 
  	a[i][j]=1; 					//  第12行
  	for(k=2;k<=N*N;k++) 		//	第13行
  	{
if((k-1)%N==0) 
      		i++; 
    	else 
		{ 
      		i=i==1?N:i-1; 
      		j=j==N?1:j+1; 
		} 
   		a[i][j]=k; 
	}							//	第23行

 	for(i=1;i<=N;i++) 			//	第24行
   		for(j=1;j<=N;j++) 
   		{ 
    		printf("%4d",a[i][j]); 
    		l++; 
    		if(l%N==0) 
    			printf( "\n"); 
   		} 
}

如果把他定义为3*3的二维数组虽然输出是对的但是会弹出如下窗口http://img4.mukewang.com/5a4f49f300017eb905890305.jpg

昵称好难起757
浏览 978回答 1
1回答

慕用4063026

   8   1   6    3   5   7    4   9   2    这是输出,只是你软件和电脑的问题吧,我用的在线编程不会有这种问题
打开App,查看更多内容
随时随地看视频慕课网APP