| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 584 人关注过本帖
标题:新手级简单题,大家来看看我这么理解对么?
只看楼主 加入收藏
我的节拍
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2009-9-14
结帖率:90%
收藏
已结贴  问题点数:5 回复次数:9 
新手级简单题,大家来看看我这么理解对么?
int i=0;
a[i]=b[i++];
我对以上两句子的理解:首先初始化i为0,然后     “[]”优先级最高,然后就是“++”“=”,所以赋值语句应该是: a[0]=b[0](因为表达式i++为0),最后i=1.
希望前辈分析下,谢谢....
2009-09-27 13:10
绿霸娘
Rank: 2
等 级:禁止访问
帖 子:6
专家分:10
注 册:2009-9-25
收藏
得分:1 
no,这是有歧义的语句
2009-09-27 13:20
rangelee
Rank: 2
等 级:论坛游民
帖 子:17
专家分:18
注 册:2009-7-4
收藏
得分:1 
你好!
i++是等价于i=i+1的,最后i的值为1,但正常数组[]内的表达式中是写成b[i+1] !

[ 本帖最后由 rangelee 于 2009-9-27 13:31 编辑 ]
2009-09-27 13:27
我的节拍
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2009-9-14
收藏
得分:0 
不会吧?书上有这么个例子,我只是简化了来问下,原本是这样的:
sz=0;
while(!feof(fp))
{
fscanf(fp,"%10s",str[sz]);
buffer[sz]=str[sz++];
}
2009-09-27 13:28
我的节拍
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2009-9-14
收藏
得分:0 
回复 3楼 rangelee
i++等价于i=i+1,那也是的。
不过光看i++它就是个表达式啊,这个表达式为0啊
到底哪个是对的呢?
2009-09-27 13:32
rangelee
Rank: 2
等 级:论坛游民
帖 子:17
专家分:18
注 册:2009-7-4
收藏
得分:3 
回复 4楼 我的节拍
你好!
  你的理解是对的,我弄混了i++,和++i的区别了,i++是先使用i的原始值然后在自增!固a[i]=b[i++]应该是a[0]=b[0],然后i自增,最后i的结果为1。调试如下
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 rangelee 于 2009-9-27 13:44 编辑 ]
2009-09-27 13:33
我的节拍
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2009-9-14
收藏
得分:0 
回复 6楼 rangelee
没什么,不过貌似你那数组定义得问题重重啊...
2009-09-27 13:49
rangelee
Rank: 2
等 级:论坛游民
帖 子:17
专家分:18
注 册:2009-7-4
收藏
得分:0 
回复 7楼 我的节拍
你好!
  什么问题,说来听听,学习下!
2009-09-27 13:54
我的节拍
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2009-9-14
收藏
得分:0 
你定义了数组 a[2],b[2],但是你在给数组元素赋值的时候却出现了  a[3],b[2]等字眼....可以看出你是个比较粗心的人啊,以后学习的时候要注意哦....

2009-09-27 13:57
rangelee
Rank: 2
等 级:论坛游民
帖 子:17
专家分:18
注 册:2009-7-4
收藏
得分:0 
回复 9楼 我的节拍
,的确出现了a[3],没注意到,刚刚敲键盘时是摸着敲的,呵呵
2009-09-27 14:02
快速回复:新手级简单题,大家来看看我这么理解对么?
数据加载中...
 
   



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

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