例如下程序:int a=0;n=3;while(n--){printf("%d ",a++*2);}
while(n--)表示执行n次;a++*2表示a*2;a++;
对于a++*2,涉及到优先级的问题。++是单目运算符,*是双目运算符,优先级关系++大于*,则该语句先执行a++,后执行a*2。表达式a++*2的结果为a*2的结果,尽管有a++,那只是a的自增罢了,影响的是a,并非表达式a++*2的值。
例如:
int a = 0, n = 3;
while (n--) {
printf("%d ", a++ * 2);// 0 2 4
}
printf("\n");
a = 0; n = 3;
while (n--) {
printf("%d ", ++a * 2);// 2 4 6
}
-------------------------------------------------------------------------------------------------------------------------------
(本篇章为小编于学习过程中的感悟和总结,难免存在疏忽和错误之处,希望能够得到各位大神的批评指正)