黄泉 发表于 2014-9-3 20:41:00

C语言数组逆向存放问题

本帖最后由 黄泉 于 2014-9-3 22:09 编辑

#include <stdio.h>

void main(){

int a={0,1,2,3,4,5,6,7,8,9};
int p;
int i=0;
for(i=9,p=0;i>=0;i--,p++){
a=a;


}
for(p=0;p<=9;p++){
printf("%d\n",a);


}


}http://bbs.fishc.com/data/attachment/album/201409/03/204222kghu3wrbhgsb3bjs.jpg 为什么结果不是9 8 7 6 5 4 3 2 1 0
单步跟踪了 但是就是不明白原因他们的值为什么变了

黄泉 发表于 2014-9-3 22:10:16

问了几个群里的人 已经明白是怎么回事了

萧哥哥 发表于 2014-9-3 23:08:13

黄泉 发表于 2014-9-3 22:10
问了几个群里的人 已经明白是怎么回事了

我也不知道,这是怎么回事求指导

黄泉 发表于 2014-9-4 01:33:09

本帖最后由 黄泉 于 2014-9-4 01:39 编辑

编程还是要注意

黄泉 发表于 2014-9-4 01:43:05

萧哥哥 发表于 2014-9-3 23:08
我也不知道,这是怎么回事求指导

因为 a啊·a=a 赋值了· 把前面的 9 8 7 6 5赋值到了 a,a,a,a,a
所以当读到a的值的时候就变成了5   所以就成了 9 8 7 6 5 5 6 7 8 9   不是9 8 7 6 5 4 3 2 1 0
你明白了么

黄泉 发表于 2014-9-4 01:44:46

萧哥哥 发表于 2014-9-3 23:08
我也不知道,这是怎么回事求指导

刚a=a 写错了 应该是a=a;
页: [1]
查看完整版本: C语言数组逆向存放问题