C语言 二维数组赋值问题这样编程为什么错误?int move[5][3];if(dest.X > start.X && dest.Y > start.Y)\x05{\x05\x05move[5][3] = {\x05\x05{0,0,0},\x05\x05\x05\x05\x05{0,0,1},\x05\x05//向东\x05\x05{0,1,0},\x05\x05//向南\x05\x05{0,0,-1}

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/25 10:10:55
C语言二维数组赋值问题这样编程为什么错误?intmove[5][3];if(dest.X>start.X&&dest.Y>start.Y)\x05{\x05\x05move[5][3]={\x05\x

C语言 二维数组赋值问题这样编程为什么错误?int move[5][3];if(dest.X > start.X && dest.Y > start.Y)\x05{\x05\x05move[5][3] = {\x05\x05{0,0,0},\x05\x05\x05\x05\x05{0,0,1},\x05\x05//向东\x05\x05{0,1,0},\x05\x05//向南\x05\x05{0,0,-1}
C语言 二维数组赋值问题
这样编程为什么错误?
int move[5][3];
if(dest.X > start.X && dest.Y > start.Y)
\x05{
\x05\x05move[5][3] = {
\x05\x05{0,0,0},\x05\x05\x05
\x05\x05{0,0,1},\x05\x05//向东
\x05\x05{0,1,0},\x05\x05//向南
\x05\x05{0,0,-1},\x05\x05//向西
\x05\x05{0,-1,0}};\x05\x05//向北
\x05}
\x05else if(dest.X < start.X && dest.Y > start.Y)
\x05{
\x05\x05move[5][3] = {
\x05\x05{0,0,0},
\x05\x05{0,0,-1},\x05\x05//向西\x05\x05\x05
\x05\x05{0,1,0},\x05\x05//向南
\x05\x05{0,0,1},\x05\x05//向东
\x05\x05{0,-1,0}};\x05\x05//向北
\x05}
\x05else if(dest.X < start.X && dest.Y < start.Y)
\x05{
\x05\x05move[5][3] = {
\x05\x05{0,0,0},
\x05\x05{0,0,-1},\x05\x05//向西\x05
\x05\x05{0,-1,0},\x05\x05//向北\x05\x05
\x05\x05{0,0,1},\x05\x05//向东
\x05\x05{0,1,0}};\x05\x05//向南
\x05}
\x05else(dest.X > start.X && dest.Y < start.Y)
\x05{
\x05\x05move[5][3] = {
\x05\x05{0,0,0},
\x05\x05{0,0,1},\x05\x05//向东\x05
\x05\x05{0,-1,0},\x05\x05//向北\x05\x05
\x05\x05{0,0,-1},\x05\x05//向西
\x05\x05{0,1,0}};\x05\x05//向南
\x05}
为什么错误?

C语言 二维数组赋值问题这样编程为什么错误?int move[5][3];if(dest.X > start.X && dest.Y > start.Y)\x05{\x05\x05move[5][3] = {\x05\x05{0,0,0},\x05\x05\x05\x05\x05{0,0,1},\x05\x05//向东\x05\x05{0,1,0},\x05\x05//向南\x05\x05{0,0,-1}
move[5][3] = {
{0,0,0},
{0,0,1},//向东
{0,1,0},//向南
{0,0,-1},//向西
{0,-1,0}};//向北
{}这个只能用来初始化,不能用来赋值.要用循环的方式赋值
你的那个只能在数组定义的时候才行.如:int move[5][3] = {
{0,0,0},
{0,0,1},//向东
{0,1,0},//向南
{0,0,-1},//向西
{0,-1,0}};//向北