我有一个结构是这样的:将值分配给一个整数阵列正在改变另一个整数数组
struct node {
int state[9];
};
typedef struct node Node;
在我的代码的开始,我与一些状态初始化。 然后,我生成可能sucessors到该状态下,基于所述零点位置,例如:
case(7):
printf("Before generating sucessor 2:\n");
for(i=0;i<9;i++) printf("%d,", n->state[i])
suc2->state[7] = n->state[6];
suc2->state[6] = 0;
printf("After generating sucessor 2:\n");
for(i=0;i<9;i++) printf("%d,", n->state[i])
break;
以上的情况是在产生可能sucessors状态的功能。 “n”是我收到的节点:expand(Node * n);
我的问题是:n状态是不同的后,我产生了sucessor 2.我不明白为什么,因为我只是改变继承2状态。
这可能是什么原因造成的?
也许'n'和'suc2'指向相同的结构 – 2014-09-13 12:51:26