①, 又叫顺序求值运算符,优先级最低,结合方向 自左至右
例如:
while(1,0)
puts("while");
puts("while");
//这个例子是为了说明,运算符自左至右计算表达式的值,并且已最右端表达式的值作为最终结果
//1,0这个表达式的值为0
②右移运算符自左至右
例如:
int a=4;
a>>=2;
//a的结果为1,a右移两位(a/(2^2))右移n位除以2^n,<③^按位异或运算符 2^4=6 转换成二进制运算: 0000 0010 0000 0100 --------------- 0000 0110 6 让我想到两个数(a,b)交换的例子: a^=b; b^=a; a^=b; /* ①a=a^b;//假设我们设a^b=c,此时a的值为c ②b=b^a;//相当与b= b^c(a)-->b=a; ③a=a^b;//相当与a= c^a(b)--->a=b; 你可用我上面的例子自己测试下; */
③C语言自增运算符 ++的用法
c[s[i]]++就是c[s[i]]加1。
s[i]是小于5的数,作为c[]的一个下标。
自增运算符 ++ 使操作数的值加1,其操作数必须为可变左值(可简单地理解为变量)。
问题在于:++ 可以置于操作数前面,也可以放在后面,如:
++i;
i++ ;
++i表示,i自增1后再参与其它运算;而i++ 则是i参与运算后,i的值再自增1。
告诉你自增自减的规律吧:
x++, x--, ++x, --x,这个你应当把它看成是一个表达式,所以看到这如下:
y = x++或 y=++x,这是把这个自增或自减的表达式的值赋给y,而这些表达式的值是这样的:
表达式 表达式取值 表达式计算完后x的取值
x++ ....... x ........... x+1
x-- ....... x .............. x-1
++x ....... x+1 .............. x+1
--x ....... x-1 .............. x-1
原文地址:https://www.weidianyuedu.com/content/2320674833354.html