在C语言中 赋值运算表达式如下
exp1 op= exp2
此处 exp1是一个变量 op代表运算符 exp2代表一个变量
运算符有如下几种:
/ % << >> & ^ | + - *
以上表达式的意思是:
exp1 op= exp2 == exp1 = exp1 op exp2
例如:
[root@CWG hc]# cat fzvd.c
#include <stdio.h>
main()
{
int x = 1;
int y = 2;
int z = 3;
x += y;
printf("x += y; x = %d\n", x);
}
[root@CWG hc]# ./fzvd
x += y; x = 3
例子2:
[root@CWG hc]# cat fzvd.c
#include <stdio.h>
main()
{
int x = 1;
int y = 2;
int z = 3;
x += y + z;
printf("x += y + z; x = %d\n", x);
}
[root@CWG hc]# ./fzvd
x += y + z; x = 6
************************************************************************
注意:由这个例子可见x+=y+z == x=x+y+z
如果将这个例子改成x*=y+z == x=x*(y+z)
************************************************************************
例子3:
[root@CWG hc]# cat jszs.c
#include <stdio.h>
main()
{
int a = 9, i; //a = 9 = 1001
for (i = 0; a != 0; a >>= 1) //每次循环a的二进制为右移1位
if (a & 01) //a & 01 也就是将a的二进制为除了第一位 其他为都清零 如果&完 a>0
i++; //则i计数 将i自增1
printf("%d\n", i); //最后打印处i的值 9的二进制为1001 所有i的值为2
}
[root@CWG hc]# ./jszs
2
#########################################
迷途小运维学C程序语言笔记
作者:john
转载请注明出处