printf的参数赋值的顺序
#include <stdio.h> int main() { int b=3; int arr[]={6,7,8,9,10}; int *ptr = arr; printf("%d\n",*ptr); *(ptr++) += 123; printf("%d,%d\n",*ptr,*(++ptr)); //printf的参数赋值顺序是从右向左 int i=5; printf("%d,%d\n",i++,i);//5,5 i=5; printf("%d,%d\n",++i,i);//6,5 i=5; printf("%d,%d\n",i,i++);//5,5 i=5; printf("%d,%d\n",i,++i);//6,6 }
评价:
(1)、自增符号在变量前面,则变量先自增再参与其他运算;自增符号在变量后面,则变量先参与其他运算再自增
(2)、printf的参数赋值从右往左。