A【1-1-11】运算符优先级与结合性

来源:互联网 发布:js中offsetwidth 编辑:程序博客网 时间:2024/04/30 13:46

练习1:优先级

void main1()
{    //1:括号()的优先级最高
printf("%d", 1 + 2 + 3 + 4 * 5 / 6);//4*5先执行,接下来就是20/6 ,*/运算符优先级高于+-运算符
printf("%d", (1 + 2) + 3 + 4 * 5 / 6);//使用括号修改运算符的优先级
//在括号嵌套((()))的情况下,最里层的最先执行
printf("%d", 1 + (2 - (3 + 4)) * 5 / 6);
//包含多个括号的表达式从左向右进行计算
printf("%d", (1 + 2) + (3 + 4) * (10 / (5 / 6) / 7));
system("pause");
}

练习2:结合性定义就是运算符优先级相等的情况下,从左向右开始计算,还是从右向左开始计算

下图是所有运算符的优先级和结合性


void main2()
{
int a, b, c, d;
printf("%d\n",a=b=c=d=5);//计算的顺序从右向左 a=(b=(c=(d=5)));
printf("a=%d,b=%d,c=%d,d=%d",a,b,c,d);


system("pause");
}

0 0
原创粉丝点击