判断一个数是否为2的N次方
二进制形式中只有一个1
X&(X-1)==0;
printf("%d\n",sizeof( ));
sizeof(表达式)在编译的时候确定大小,表达式不执行
++i可以做左值 i++不可以做左值
例:
#include<stdio.h>
void main()
{
int i;
i++;
++i;
}
++i是先执行i+1 再使用i
{
i+=1;
return i;
}输出了值i 因此可以作为左值
i++是先使用i再加1
{
return i;
i++;
}
很明显无法做左值