tnjk.net
当前位置:首页 >> C语言中,i = ((i + 3)&(~3))是什么意思 >>

C语言中,i = ((i + 3)&(~3))是什么意思

i+3的结果跟3取反后的数相与,结果赋给i; 再一步简化,i+3的结果的二进制数中最低两位置零,该结果赋给i;

#include void main(int argc,char* argv[]) { int i=3; i = ((i + 3)&(~3)); printf("%d",i); } 结果4 表达式为二进制运算: i+3=4 ~3=-4 4&(-4)=4 如下: 数 二进制 十进制 3 00000000000000000000000000000011 3 i+3 00000000000000000000000...

求i除以3的余数

+=是C语言中的自加赋值运算符 x += 3 ; 相当于: x=x+3 ; 与之相类似的运算符还有: *= 自乘一个数 -= 自减一个数 /= 自除一个数 %= 自模一个数 >>= 自身右移n位

if(i%3) 等价于 if (i%3==0)用于判断i是否被3整除。

1、(3*j),乘法,计算一个int 2、i>>右移,i以二进制形式往右移第1步计算出来的位数 3、&7L,第2步计算的二进制与7的二进制按位与操作

a[i][j]表示二维数组的第i行第j列,a[i][j]=i*3+j+1是赋值语句,将i*3+j+1赋值给a[i][j]

这个是未定义用法,C语言标准没有指定同一运算符中多个操作数的计算顺序,也没有指定函数各个参数的求职顺序,具体结果取决于编译器的实现方式 以上内容可见K&R书第52页 具体分析请见 http://zhidao.baidu.com/question/530041406.html?oldq=1&f...

!是C语言的逻辑非函数。 !a的运算规则为: 1 a如果为0,结果为1; 2 a如果不为0,结果为0。 于是i=!i的作用就是,如果i非0,则i值赋值为0,否则i值赋值为1. i=!i与i=(i==0);效果相同。

&&在C语言中是逻辑与的意思,他的运算规则是true&&true的结果是true,其他的(true&&false,false&&true,false&&false)结果都是false 这句话的意思就是i小于等于3并且*p的值为真

网站首页 | 网站地图
All rights reserved Powered by www.tnjk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com