| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 958 人关注过本帖
标题:[求助]关于对左值的理解
只看楼主 加入收藏
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
以下是引用雨中飛燕在2007-10-20 12:47:23的发言:
int main(void)
{
int a[10]={0};
int b=(int)a;
5[(int*)b] = 128;
printf("%d %d %d\n", a[4], a[5], a[6]);
getchar();
return 0;
}
这个机器没编译器,结果是0,128,0么?

从BFS(Breadth First Study)到DFS(Depth First Study)
2007-10-20 12:55
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
收藏
得分:0 
我运行的结果和楼上的一样,不知道为什么
5[(int *)b]=128是什么意思,有这样赋值的吗

[此贴子已经被作者于2007-10-20 16:52:55编辑过]


英者自知,雄者自胜
2007-10-20 16:50
风的声音
Rank: 1
等 级:新手上路
帖 子:128
专家分:0
注 册:2007-3-27
收藏
得分:0 
5[(int *)b]=128;???奇怪了,同问??

一念心清净,莲花处处开。 一花一净土,一土一如来。
2007-10-20 17:00
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
收藏
得分:0 
哪位明白的给我们讲讲,不胜感激

英者自知,雄者自胜
2007-10-20 17:05
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 


int a[10]={0};
int b=(int)a;//b的值是个地址(但其实上还是个数字)
5[(int*)b] = 128;//再把地址转换成指针.

以前的数组定义形式 有两种的.呵呵.


倚天照海花无数,流水高山心自知。
2007-10-20 17:34
风的声音
Rank: 1
等 级:新手上路
帖 子:128
专家分:0
注 册:2007-3-27
收藏
得分:0 
斑竹说的这两点我们都了解,问题在于
怎么把128赋给b[5]的,也就是a[5]。
其实拐弯抹角的就是int *b=a;
关键是怎么赋值的??

一念心清净,莲花处处开。 一花一净土,一土一如来。
2007-10-20 17:40
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
5[b]==b[5]不是吗

倚天照海花无数,流水高山心自知。
2007-10-20 17:45
风的声音
Rank: 1
等 级:新手上路
帖 子:128
专家分:0
注 册:2007-3-27
收藏
得分:0 
这个我还真不知道,,,想起来了。。。对阿。以前没有注意这个问题。谢谢了
5[b]=*(5+b);
b[5]=*(b+5);
以前还真没有注意呢,谢谢了

一念心清净,莲花处处开。 一花一净土,一土一如来。
2007-10-20 17:47
快速回复:[求助]关于对左值的理解
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038014 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved