首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

c语言有关问题啊求。

2012-04-23 
c语言问题啊。。。求高手指点。。。#include stdio.h#include stdlib.hint main(void){int n[6][6],temp[5][

c语言问题啊。。。求高手指点。。。
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int n[6][6],temp[5][5];
int i,j,ct;

printf("Input:\n");
for(i=0,ct=1; i<5; i++)
{
for(j=0;j<5;j++)
{
printf("%4d ", ct);
n[i][j] = ct;
temp[i][j] = ct;
ct++;
}
printf("\n");
}
scanf("%d %d %d %d", &n[6][0],&n[6][1],&n[6][2],&n[6][3]);


if(n[6][0]==1)
{
if(n[6][1]==2)
{
for(i=n[6][2]-1;i<(2+n[6][2]-1);i++)
{
for(j=n[6][3]-1;j<(n[6][3]+2-1);j++)
{
n[i][j]=temp[n[6][3]+2-1-j][i];
}
}
}
else if(n[6][1]==3)
{
for(i=n[6][2]-1;i<(3+n[6][2]-1);i++)
{
for(j=n[6][3]-1;j<(3+n[6][3]-1);j++)
{
n[i][j]=temp[3+n[6][3]-1-j][i];
}
}
}
}
else if(n[6][0]==2)
{
if(n[6][1]==2)
{
for(i=n[6][2]-1;i<(2+n[6][2]-1);i++)
{
for(j=n[6][3]-1;j<(2+n[6][3]-1);j++)
{
n[i][j]=temp[j][2+n[6][2]-1-i];
}
}
}
else if(n[6][1]==3)
{
for(i=n[6][2]-1;i<(3+n[6][2]-1);i++)
{
for(j=n[6][3]-1;j<(3+n[6][3]-1);j++)
{
n[i][j]=temp[j][3+n[6][2]-1-i];
}
}
}
}

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


return 0;
//exit(0);

}

如果用return 0 退出会提示0x000..2不能read
想知道为什么。。。用的vc6.0
不知道是不是代码有问题~


[解决办法]
代码中出现了很多
if(n[6][0]==1)
如这样的,n[6][0].
而定义是 int n[6][6],temp[5][5];

c/c++数组是从0开始计数的,所以数组下标最大值是 5.
所有下标出现6的都错了
[解决办法]
数组定义的 int a[6],用的时候从0开始的,a[0]-a[5]~~

热点排行
Bad Request.