标题:关于C语言中位移的疑问?
只看楼主
nb533
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2009-3-26
 问题点数:0 回复次数:1 
关于C语言中位移的疑问?
我程序里有一段这样的语句
for(i=0;i<=3;i++)
    {
        LimitProtect[i+4]=(*fm++<<8);
        (LimitProtect[i+4]|=(*fm++)&0x00ff);
        LimitProtect[i+4]<<=16;
        LimitProtect[i+4]|=0x0000ffff&(*fm++<<8);
        LimitProtect[i+4]|=0x0000ffff&(*fm++)&0x00ff;
    }
如果LimitProtect[i+4]<<=16;换成LimitProtect[i+4]<<16; 编译器就警告expression has no effect,而且没有达到移位的效果。
预算结果也不对,请问这两句话有啥不一样呀。
搜索更多相关主题的帖子: 疑问 C语言 
2013-05-13 19:13
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:0 
就是  i += 1 和 i + 1 的区别


[fly]存在即是合理[/fly]
2013-05-13 19:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-406989-1-1.html




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

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