4.1 算术运算符
note
- % 运算符要求操作数均是整数
- 当 / 和 % 用于负数时,其结果于具体实现有关
4.1.1 优先级和结合性
运算符的右结合:指从右向左运算-+i = -(+i);
#include <stdio.h>
int main()
{
int i=10;
printf("%d",-+i);
return 0;
}
// 输出
-10
4.2 赋值运算
4.2.1 简单赋值
#include <stdio.h>
int main()
{
int i,j,k;
i=j=k=10;
printf("%d,%d,%d",i,j,k);
return 0;
}
// 输出
10,10,10
note
- 如果是具有类型转换,上面的赋值方式是不可取的,会产生未知错误
4.3 自增,自减运算
#include <stdio.h>
int main()
{
int i=1;
int j=1;
// ++ 在前,先对 i 进行取代运算,再输出
printf("%d,%d\n",++i,i);
// ++ 在后,先对 i 输出,再进行运算
printf("%d,%d",j++,j);
return 0;
}
// 输出
2,2
1,2
4.4 表达式求值
#include <stdio.h>
int main()
{
int a = 5;
int b;
int c = (b=a+2)-(a=1);
printf("%d",c);
return 0;
}
// 尽量避免上面的写法,因为在实际情况中,可能出现 c =6 或者 =2 的情况