C语言代码问题,打出来觉得是对的,但是就是显示错误

intx,a,b1,b2,i,k,j,t;scanf("%d",&x);inty[x][x];k=x/4,j=k;i=1;for(b1=0;b1<=x-1;b1++){f... int x,a,b1,b2,i,k,j,t;
scanf("%d",&x);
int y[x][x];
k=x/4,j=k;
i=1;
for(b1=0;b1<=x-1;b1++){
for(b2=0;b2<=x-1;b2++)
y[b1][b2]=i,i++;
}
for(j=1;j<=k;j++)
for(i=1;i<=k;i++){
t=y[4j-4][4k-3],y[4j-4][4k-3]=y[4j-1][4k-2],y[4j-1][4k-2]=t;
t=y[4j-4][4k-2],y[4j-4][4k-2]=y[4j-1][4k-3],y[4j-1][4k-3]=t;
t=y[4j-3][4k-4],y[4j-3][4k-4]=y[4j-2][4k-1],y[4j-2][4k-1]=t;
t=y[4j-2][4k-4],y[4j-2][4k-4]=y[4j-3][4k-1],y[4j-3][4k-1]=t;
最后四行有同样一个问题- -|||
显示错误是:
第一种:15 13 C:\Users\Administrator\Desktop\C\偶数阶魔方阵.cpp [Error] invalid types 'int [(((sizetype)(((ssizetype)x) + -1)) + 1)][(((sizetype)(((ssizetype)x) + -1)) + 1)][__complex__ int]' for array subscript
第二种:15 15 C:\Users\Administrator\Desktop\C\偶数阶魔方阵.cpp [Error] fixed-point types not supported in C++
谁能帮我解释一下,感激不尽。
展开
 我来答
linzhe13
2014-11-16 · TA获得超过159个赞
知道小有建树答主
回答量:110
采纳率:0%
帮助的人:111万
展开全部
前一个问题
不要用变长数组, 用 vector 套 vector 替代 int y[x][x] 的声明.

后一个问题
4j -> 4 * j
4k -> 4 * k
kaixingui2012
2014-11-16 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6400万
展开全部
scanf("%d",&x);
int y[x][x]; //一般不支持这种写法!!可以定义一个较大的数组来应对不同的变化,如:
int y[100][100];
do { scanf("%d",&x); } while ( x<1 || x>100 ) ; //以下按x来操作数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式