九阴真经登录界面:C语言 运算符的优先级?

来源:百度文库 编辑:高考问答 时间:2024/04/29 15:02:57
mian()
{
int k=2,i=2,m;
m=(k+=i*k);
printf("%d,%d",m,i);
}

()优先级最高
*优先级其次
+优先级再其次
+=和=优先级最低

所以,先计算i*k,然后是k+=...,然后是m=

相当于 m=(k+=(i*k))=6,i等于2

m=(k+=i*k);
先计算i*k=4,再k+=4,再m=k=6
printf("%d,%d",m,i);
的结果是6,2

优先级不需要记
写代码时不要写成高技巧的,这样得不偿失,可读性不好
如上面的代码可以写成这样:
void main()
{
int k = 2, i = 2, m;
k += i * k;
m = k;
printf("%d,%d", m, i);
}