黑马程序员技术交流社区
标题:
菜鸟的郁闷,大神快来啊!!!
[打印本页]
作者:
杨贺阳
时间:
2014-11-28 13:12
标题:
菜鸟的郁闷,大神快来啊!!!
int a = 3; int b = 4; int c = 0;
int x[4] = {a,b};
c=a;
a=b;
b=c;
printf("出现%d%d%d%d\n",a,b,x[0],x[1]);
问题来了,为什么a和b的值已经互换了,x[0]的值还是a原来的3!!??
大神!!速来解答!!!最好能帮我分析下内存。
作者:
onefiter
时间:
2014-11-28 13:14
本帖最后由 onefiter 于 2014-11-28 13:25 编辑
看一下李明杰老师的快速入门20.指针与一维数组这一视频
作者:
onefiter
时间:
2014-11-28 13:21
程序运行,从上到下,你只是换a ,b的值,并没有对一维数组操作
作者:
onefiter
时间:
2014-11-28 13:29
程序第二行对数组进行定义和初始化,此时x[0]=3;x[1]=4;x[2]=0;x[3]=0;之后的程序并没有对数组操作啊
作者:
zhao190109
时间:
2014-11-28 14:40
数组值没发生变化,只是改变了整形
作者:
龙@程序员
时间:
2014-11-28 15:30
数组和变量A,B分别占用不同的内存区域,所以,不能全改
作者:
松果
时间:
2014-11-28 21:10
交换的知识a跟b的值,x[0]和x[1]的值只是在定义的时候赋了值,之后就没修改过
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2