b[i++]=a 与 b[i]=a;i++ 两者有什么不同?

[复制链接]
查看11 | 回复5 | 2012-2-5 22:35:52 | 显示全部楼层 |阅读模式
这个是一样的b[++i]=a;和b=a;i++;是同样的同能的这样理解因为在你那个语句中i是自加一后再用的如i=1的时候,前一句运行完成后b[2]=a,i=2而后一句运行完成后是b[1]=a;i=2这样明白了?而b[++i]=a;运行完成后是b[1]=a;i=2这就是++在前和在后的区别...
回复

使用道具 举报

千问 | 2012-2-5 22:35:52 | 显示全部楼层
效果上都是一样的:都是把a放到b,然后i++两者都是 先执行b=a 然后i=i+1可以理解为写法不同你可以写一个这样的小程序试试的#includevoid main(){int a[3]={1,2,3};int k,i=0;a[i++]=0;for(k=0;k<3;k++)p...
回复

使用道具 举报

千问 | 2012-2-5 22:35:52 | 显示全部楼层
没有区别,只是b[i++]=a把2步合成一步写了。但是, b=a;i++的写法要比上面更直观,可读性更强。因为C++书写规范要求每一行语句尽量只完成一件事。(不要完成好几件事),差不多区别就在这里吧。...
回复

使用道具 举报

千问 | 2012-2-5 22:35:52 | 显示全部楼层
没有本质的区别. 若是b[++i] = a;那就不同了. 先计算++i 在执行数组单元的赋值操作...
回复

使用道具 举报

千问 | 2012-2-5 22:35:52 | 显示全部楼层
int i=0;则 b[i++]=a..也就是b[0]=a....然后i=i+1;两者没区别...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行